#include <bits/stdc++.h>
using namespace std;
map<int, int> cnt;
int a[1000007];
int main() {
  int n;
  scanf("%d", &n);
  for (auto i = (1); i <= (n); ++i) scanf("%d", &a[i]);
  set<int> st;
  for (auto i = (1); i <= (n); ++i) {
    st.insert(a[i]);
    ++cnt[a[i]];
  }
  if (st.size() == 1) {
    if (*st.begin() == 0) {
      puts("Yes");
      return 0;
    } else {
      puts("No");
      return 0;
    }
  }
  if (n % 3) {
    puts("NO");
    return 0;
  }
  if (st.size() == 2) {
    if (*st.begin() == 0) {
      if (cnt[0] == n / 3)
        puts("Yes");
      else
        puts("No");
      return 0;
    } else {
      puts("No");
      return 0;
    }
  }
  if (st.size() == 3) {
    int a = *st.begin();
    int b = *(++st.begin());
    int c = *(++ ++st.begin());
    if ((a ^ b) == c && (a ^ c) == b && (b ^ c) == a)
      puts("Yes");
    else
      puts("No");
    return 0;
  }
  puts("No");
  return 0;
}
