#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int> a(n);
  map<int, int> mp;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
    mp[a[i]]++;
  }
  bool ans = false;
  if (mp.size() == 3) {
    vector<long long> kai(3);
    vector<long long> kazu(3);
    int k = 0;
    for (auto p : mp) {
      kai[k] = p.first;
      kazu[k] = p.second;
      k++;
    }
    if (n % 3 == 0 && (kai[0] ^ kai[1] == kai[2]) &&
        (kai[1] ^ kai[2] == kai[0]) && (kai[2] ^ kai[0] == kai[1])) {
      if (kazu[0] == kazu[1] && kazu[1] == kazu[2] && kazu[2] == kazu[0]) {
        ans = true;
      }
    }
  }
  if (mp.size() == 1) {
    for (auto p : mp) {
      if (n == p.second && p.first == 0) {
        ans = true;
      }
    }
  }
  if (ans == true) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
  return 0;
}
