#include <bits/stdc++.h>
int cmp_int(const void *a, const void *b) {
  int32_t d = *(int32_t *)a - *(int32_t *)b;
  return d == 0 ? 0 : d < 0 ? -1 : 1;
}
void run(void) {
  int32_t n;
  scanf("%" SCNi32, &n);
  int32_t *a = ((int32_t *)calloc((n), sizeof(int32_t)));
  for (int32_t i = 0; i < n; ++i) {
    scanf("%" SCNi32, a + i);
  }
  qsort((a), (n), sizeof(*(a)), cmp_int);
  int32_t *cnt = ((int32_t *)calloc((n), sizeof(int32_t)));
  int32_t len = 0;
  for (int32_t i = 0; i < n;) {
    a[len] = a[i];
    for (; i < n && a[len] == a[i]; ++i) {
      cnt[len]++;
    }
    len++;
  }
  if (len > 3) {
    puts("No");
    return;
  }
  if (n % 3 != 0 && len > 1) {
    puts("No");
    return;
  }
  for (int32_t i = 0; i < len; ++i) {
    if (cnt[i] % (n / 3) != 0) {
      puts("No");
      return;
    }
  }
  puts("Yes");
}
int main(void) {
  run();
  return 0;
}
