#include <bits/stdc++.h>
using namespace std;
const int MaxN = 100000 + 5;
int N;
map<int, int> Numbers;
int main(void) {
  scanf("%d", &N);
  if (N % 2) {
    printf("NO\n");
    return 0;
  }
  for (int i = 0; i < N; i++) {
    int Number;
    scanf("%d", &Number);
    Numbers[Number]++;
  }
  while (!Numbers.empty()) {
    while (!Numbers.begin()->second) Numbers.erase(Numbers.begin());
    int Number = Numbers.begin()->first;
    if (N == 2) {
      if (Numbers[Number + 1] == 1)
        printf("YES\n");
      else
        printf("NO\n");
      return 0;
    }
    if (Numbers[Number + 1] < 2) {
      printf("NO\n");
      return 0;
    }
    Numbers[Number]--;
    Numbers[Number + 1]--;
    N -= 2;
  }
  return 0;
}
