#include <bits/stdc++.h>
using namespace std;
long long N, A[101010];
map<long long, long long> mk;
long long i, j, ans;
int main() {
  scanf("%lld", &N);
  for (i = 0; i < N; i++) {
    scanf("%lld", &A[i]);
  }
  for (i = 0; i < N; i++) {
    if (A[i] != 0) break;
  }
  if (i == N) {
    printf("Yes");
    return 0;
  }
  if (N % 3 != 0) {
    printf("No");
    return 0;
  }
  j = 0;
  for (i = 0; i < N; i++) {
    if (mk.find(A[i]) == mk.end()) {
      if (mk.size() == 3) {
        printf("No");
        return 0;
      }
    }
    mk[A[i]]++;
  }
  if (mk.size() == 1) {
    printf("No");
    return 0;
  }
  if (mk.size() == 2) {
    for (auto a : mk) {
      for (auto b : mk) {
        if (a.second != b.second * 2 && a.second * 2 != b.second) {
          printf("No");
          return 0;
        }
      }
    }
  }
  if (mk.size() == 3) {
    for (auto a : mk) {
      for (auto b : mk) {
        if (a.second != b.second) {
          printf("No");
          return 0;
        }
      }
    }
  }
  printf("Yes");
  return 0;
}
