#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int N, a[100005], b[5], c[5], i, j, p, t;
  scanf("%d", &N);
  if (0) {
    ;
  } else {
    p = 1;
    j = 0;
    b[1] = -1;
    b[2] = -1;
    b[3] = -1;
    for (i = 1; i <= N; i++) {
      scanf("%d", &a[i]);
      if (j == 0) {
        b[1] = a[i];
        j++;
      }
      if (j == 1 && a[i] != b[1]) {
        b[2] = a[i];
        j++;
      }
      if (j == 2 && a[i] != b[1] && a[i] != b[2]) {
        b[3] = a[i];
        j++;
      }
      if (j == 3 && a[i] != b[1] && a[i] != b[2] && a[i] != b[3]) {
        p = 0;
        j++;
        break;
      }
    }
    while (!(b[1] <= b[2] && b[2] <= b[3])) {
      if (b[1] > b[2]) {
        t = b[1];
        b[1] = b[2];
        b[2] = t;
      }
      if (b[2] > b[3]) {
        t = b[2];
        b[2] = b[3];
        b[3] = t;
      }
    }
    if (j == 1 && b[3] != 0) p = 0;
    if (j == 3 && (b[1] ^ b[2]) != b[3]) p = 0;
    c[1] = 0;
    c[2] = 0;
    c[3] = 0;
    for (i = 1; i <= N; i++) {
      if (p == 0) break;
      if (a[i] == b[1])
        c[1]++;
      else if (a[i] == b[2])
        c[2]++;
      else if (a[i] == b[3])
        c[3]++;
    }
    if (p == 0) printf("[]\n");
    if (j == 2 && !(c[1] == 0 && c[2] == N / 3 && c[3] == 2 * N / 3)) p = 0;
    if (j == 3 && !(c[1] == N / 3 && c[2] == N / 3 && c[3] == N / 3)) p = 0;
  }
  if (p == 1)
    printf("Yes");
  else
    printf("No");
  return 0;
}
