#include <bits/stdc++.h>
const int INF = 1e9, MOD = 1e9 + 7, ohara = 1e6 + 10;
const long long LINF = 1e18;
using namespace std;
long long n, cnt, ans, a[ohara], b, c, d, tmp, tmpp, m, h, w, x, y, sum, pos, k;
long double doua;
int dy[] = {1, 0, -1, 0};
int dx[] = {0, 1, 0, -1};
string alph("abcdefghijklmnopqrstuvwxyz"), s;
bool fl;
struct edge {
  int to, cost;
};
int main(void) {
  cin.tie(0);
  cout.tie(0);
  ios::sync_with_stdio(false);
  cin >> n;
  for (int(i) = 0; (i) < (int)(n); (i)++) cin >> a[i];
  ans = 0;
  for (int(i) = 0; (i) < (int)(n); (i)++) {
    ans = (ans xor a[i]);
  }
  for (int(i) = 0; (i) < (int)(n); (i)++) {
    if ((ans xor a[i]) != a[i]) {
      cout << ("No") << endl;
      return 0;
    }
  }
  cout << ("Yes") << endl;
  return 0;
}
