#include <bits/stdc++.h>
int cmpnum(const void *n1, const void *n2) {
  if (*(long *)n1 > *(long *)n2) {
    return 1;
  } else if (*(long *)n1 < *(long *)n2) {
    return -1;
  } else {
    return 0;
  }
}
int main(void) {
  int n;
  scanf("%d", &n);
  long a[n];
  for (int i = 0; i < n; i++) {
    scanf("%ld", &a[i]);
  }
  qsort(a, n, sizeof(long), cmpnum);
  if (a[n - 1] == 0) {
    printf("Yes\n");
    return 0;
  }
  if (n % 3 != 0) {
    printf("No\n");
    return 0;
  }
  if (a[n * 2 / 3 - 1] == 0 && a[n * 2 / 3] != 0 && a[n * 2 / 3] == a[n - 1]) {
    printf("Yes\n");
    return 0;
  }
  if (a[0] == a[n / 3 - 1] && a[n / 3 - 1] != a[n / 3] &&
      a[n / 3] == a[n * 2 / 3 - 1] && a[n * 2 / 3 - 1] != a[n * 2 / 3] &&
      a[n * 2 / 3] == a[n - 1] && a[0] ^ a[n / 3] ^ a[n * 2 / 3] == 0) {
    printf("Yes\n");
    return 0;
  }
  printf("No\n");
  return 0;
}
