#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int a[N];
map<int, int> ma;
int main() {
  int n;
  scanf("%d", &n);
  int f1, f2;
  int x;
  ma.clear();
  int pos1 = rand() % n + 1;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &x);
    ma[x]++;
    if (i == 1) f1 = x;
    if (i == pos1) f2 = x;
  }
  int re1 = f1, re2 = f2;
  if (n % 3 != 0 || ma.size() > 3) {
    puts("No");
    return 0;
  }
  ma[f1]--, ma[f2]--;
  for (int i = 3; i <= n; i++) {
    f1 = f1 ^ f2;
    if (ma[f1] == 0) {
      puts("No");
      return 0;
    }
    ma[f1]--;
    swap(f1, f2);
  }
  if ((f1 ^ f2) != re1 || (f2 ^ re1) != re2) {
    puts("No");
    return 0;
  }
  puts("Yes");
}
