#include <bits/stdc++.h>
using namespace std;
int a[100010];
map<int, int> m;
int main() {
  int n, k = 0, x, flag = 1;
  m.clear();
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &x);
    if (m[x] == 0) a[++k] = x;
    m[x]++;
  }
  sort(a + 1, a + 1 + k);
  if (k > 3) {
    puts("No");
  } else if (k == 1 && m[0] == n) {
    puts("Yes");
  } else if (k == 2 && 2 * m[a[1]] == m[a[2]]) {
    puts("Yes");
  } else if (k == 3 && m[a[1]] == m[a[2]] && m[a[2]] == m[a[3]]) {
    puts("Yes");
  } else
    puts("No");
  return 0;
}
