#include <bits/stdc++.h>
int compare_int(const void *a, const void *b) {
  return *(long long *)a - *(long long *)b;
}
int main() {
  int n, i;
  long long a[100000];
  scanf("%d", &n);
  for (i = 0; i < n; i++) scanf("%lld", &a[i]);
  qsort(a, n, sizeof(long long), compare_int);
  int c = 1;
  long long num[5][2] = {{a[0], 1}};
  for (i = 1; i < n; i++) {
    if (a[i] != a[i - 1]) {
      num[c][0] = a[i];
      num[c][1] = 1;
      c++;
      if (c == 4) {
        puts("No");
        return 0;
      }
    } else
      num[c - 1][1]++;
  }
  if (c == 2) {
    puts("No");
    return 0;
  }
  if (c == 1) {
    if (num[0][0] == 0)
      puts("Yes");
    else
      puts("No");
    return 0;
  }
  if (num[0][0] ^ num[2][0] != num[1][0])
    puts("No");
  else {
    if (num[0][1] == num[1][1] && num[0][1] == num[2][1])
      puts("Yes");
    else
      puts("No");
  }
  return 0;
}
