func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 100005;   int d[maxn], n;   struct node {     int a, b;   } data[maxn];   int main() {     cin >> n;     d[0] = -1;     for (int i = 1; i <= n; i++) cin >> d[i];     sort(d + 1, d + 1 + n);     int cnt = 0;     for (int i = 1; i <= n; i++) {       if (d[i] == d[i - 1])         data[cnt].b++;       else {         cnt++;         data[cnt].a = d[i];         data[cnt].b = 1;       }     }     bool flag = 1;     for (int i = 2; i <= cnt; i++) {       if (data[i].a - 1 != data[i - 1].a) {         flag = 0;         break;       }     }     if (flag) {       data[2].b -= data[1].b - 1;       for (int i = 2; i < cnt; i++) {         if (data[i].b < 2) {           flag = 0;           break;         } else           data[i + 1].b -= data[i].b - 2;       }       if (data[cnt].b != 1) flag = 0;     }     if (flag)       cout <<  YES  << endl;     else       cout <<  NO  << endl;     return 0;   }   