#include <bits/stdc++.h>
using namespace std;
template <typename V>
bool tomin(V& x, V y) {
  if (y < x) {
    x = y;
    return true;
  }
  return false;
}
template <typename V>
bool tomax(V& x, V y) {
  if (x < y) {
    x = y;
    return true;
  }
  return false;
}
const int M = 1e5 + 5;
int n, A[M];
int pre(int i) {
  i--;
  if (i == 0) return n;
  return i;
}
int nxt(int i) {
  i++;
  if (i > n) return 1;
  return i;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &A[i]);
  for (int i = 1; i <= n; i++)
    if ((A[pre(i)] ^ A[nxt(i)]) != A[i]) {
      puts("No");
      exit(0);
    }
  puts("Yes");
  return 0;
}
