#include <bits/stdc++.h>
using namespace std;
using lli = long long int;
vector<int> f, g;
void yes() {
  cout << "Yes" << endl;
  exit(0);
}
void no() {
  cout << "No" << endl;
  exit(0);
}
int main() {
  int n;
  cin >> n;
  vector<int> a(n);
  map<int, int> m, fuga;
  for (lli i = 0; i < (n); i++) {
    cin >> a[i];
    fuga[a[i]]++;
  }
  if (n % 3 == 0) {
    int k = n / 3;
    for (auto s : fuga) f.push_back(s.second);
    for (auto s : fuga) g.push_back(s.first);
    if (fuga.size() > 3) {
      no();
    }
    if (fuga.size() == 3) {
      if (f[0] == f[1] && f[1] == f[2]) {
        for (lli i = 0; i < (3); i++)
          if (g[i] != (g[(i + 1) % 3] ^ g[(i + 2) % 3])) no();
        yes();
      }
      no();
    }
    if (fuga.size() == 2) {
      if (f[0] == 2 * f[1] || f[1] == 2 * f[0]) {
        if (fuga[0] > 0) {
          yes();
        }
        no();
      }
      no();
    }
    if (fuga[0] == 0)
      yes();
    else
      no();
  } else {
    if (fuga.size() == 1 && fuga[0] > 0) {
      yes();
    } else {
      no();
    }
  }
}
