#include <bits/stdc++.h>
using namespace std;
int n, a[(int)1e5 + 10];
int main() {
  int i, j;
  set<int> s;
  set<int>::iterator itr;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    s.insert(a[i]);
  }
  sort(a, a + n);
  if (s.size() == 3) {
    int b[3], num[3] = {0, 0, 0};
    itr = s.begin();
    b[0] = *itr++;
    b[1] = *itr++;
    b[2] = *itr;
    for (i = 0; i < n; i++)
      for (j = 0; j < 3; j++)
        if (a[i] == b[j]) num[j]++;
    if (num[0] == num[1] && num[1] == num[2])
      puts("Yes");
    else
      puts("No");
  } else if (s.size() == 1) {
    if (a[0] == 0)
      puts("Yes");
    else
      puts("No");
  } else if (s.size() == 2) {
    int num[2] = {0, 0};
    for (i = 0; i < n; i++) {
      if (a[i] == a[0])
        num[0]++;
      else if (a[i] == a[n - 1])
        num[1]++;
    }
    if (a[0] == 0 && num[0] * 2 == num[1])
      puts("Yes");
    else if (a[n - 1] == 0 && num[1] * 2 == num[0])
      puts("Yes");
    else
      puts("No");
  } else
    puts("No");
  return 0;
}
