#include <bits/stdc++.h>
using namespace std;
using lli = int_fast64_t;
using ulli = uint_fast64_t;
lli powmod(lli n, lli p, lli m) {
  if (p == 0) return 1;
  if (p % 2 == 0) {
    lli t = powmod(n, p / 2, m);
    return t * t % m;
  }
  return n * powmod(n, p - 1, m);
}
const lli MOD = 1000000007;
const lli LIMIT = 1000000000000000000 * 5;
const int tenfive = 100000;
int main() {
  lli N;
  cin >> N;
  vector<lli> v(N);
  lli axo = 0;
  lli mi = (int)MOD, ma = 0;
  set<lli> se;
  for (int i = 0; i < N; i++) {
    cin >> v[i];
    if (v[i] == 0) {
      cout << "No" << endl;
      return 0;
    }
    mi = min(mi, v[i]);
    ma = max(ma, v[i]);
    se.insert(v[i]);
  }
  sort(v.begin(), v.end());
  for (int i = 0; i < N; i++) {
    axo = axo xor v[i];
  }
  if (axo != 0 || N != 3) {
    cout << "No" << endl;
    return 0;
  }
  cout << "Yes" << endl;
  return 0;
}
