func_code_string: #include <bits/stdc++.h>   using namespace std;   const int mod = 1e9 + 7;   long long binPow(long long a, long long b) {     long long x = 1, y = a;     while (b) {       if (b & 1) x = (x * y) % mod;       y = (y * y) % mod;       b >>= 1;     }     return x % mod;   }   long long inverserEuler(int n) { return binPow(n, mod - 2); }   long long C(int k, int n) {     vector<long long> f(n + 1, 1);     for (int i = 2; i <= n; i++) f[i] = (f[i - 1] * i) % mod;     return (f[n] * ((inverserEuler(f[k]) * inverserEuler(f[n - k])) % mod) %             mod) %            mod;   }   void trunghieu() {     int n;     cin >> n;     int a[n], i, j;     map<int, int> cnt;     for (i = 0; i < n; ++i) cin >> a[i], cnt[a[i]]++;     if (cnt.size() == 2) {       map<int, int>::iterator it;       it = cnt.begin();       int n1 = it->second, x1 = it->first;       it++;       int n2 = it->second, x2 = it->first;       ;       if (n1 == n2)         cout <<  YES  << endl << x1 <<     << x2;       else         cout <<  NO ;     } else       cout <<  NO ;   }   int main() {     ios::sync_with_stdio(false);     cin.tie();     trunghieu();     return 0;   }   