func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long N = 1e5 + 10;   const long long M = 1e12;   const long long MOD = 1e9 + 7;   const long long INF = 1e18;   const long long inf = -1e18;   int n, arr[5], m;   vector<int> vec, verr;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL), cout.tie(NULL);     cin >> n;     if (n == 0) {       cout <<  YES  <<   n ;       cout << 1 <<   n ;       cout << 1 <<   n ;       cout << 3 <<   n ;       cout << 3;       return 0;     }     for (int i = 1; i <= n; i++) {       cin >> arr[i];       verr.push_back(arr[i]);       verr.push_back(arr[i] + 1);       verr.push_back(arr[i] + 2);       verr.push_back(arr[i] + 3);       verr.push_back(arr[i] - 1);       verr.push_back(arr[i] - 2);       if (i > 1) {         verr.push_back(abs(arr[i] - arr[i - 1]));         verr.push_back(abs(arr[i] - arr[i - 1]) + 1);         verr.push_back(abs(arr[i] - arr[i - 1]) - 1);         verr.push_back(abs(arr[i] - arr[i - 1]) - 50);         verr.push_back(abs(arr[i] - arr[i - 1]) - 500);         verr.push_back(abs(arr[i] + arr[i - 1]));         verr.push_back(abs(arr[i] + arr[i - 1]) + 1);         verr.push_back(abs(arr[i] + arr[i - 1]) - 1);         verr.push_back(abs(arr[i] + arr[i - 1]) - 50);         verr.push_back(abs(arr[i] + arr[i - 1]) - 500);       }     }     for (int i = 1; i <= n; i++) {       for (int j = 1; j <= n; j++) {         verr.push_back(arr[i] + arr[j]);         verr.push_back(arr[i] - arr[j]);       }     }     sort(arr + 1, arr + n + 1);     m = 4;     if (n == 1) {       for (auto a : verr) {         for (int b = 1; b <= 500; b++) {           for (int c = 1; c <= 500; c++) {             for (int d = arr[1]; d <= arr[1]; d++) {               vec.clear();               vec.push_back(a);               vec.push_back(b);               vec.push_back(c);               vec.push_back(d);               sort(vec.begin(), vec.end());               if ((vec[0] + vec[1] + vec[2] + vec[3]) % 4 != 0 ||                   (vec[1] + vec[2]) % 2 != 0)                 continue;               if ((vec[0] + vec[1] + vec[2] + vec[3]) / 4 ==                       (vec[1] + vec[2]) / 2 &&                   (vec[1] + vec[2]) / 2 == vec[3] - vec[0]) {                 cout <<  YES  <<   n ;                 cout << a <<   n ;                 cout << b <<   n ;                 cout << c;                 return 0;               }             }           }         }       }     }     if (n == 2) {       for (int a = 1; a <= 500; a++) {         for (int b = 1; b <= 500; b++) {           for (int c = arr[2]; c <= arr[2]; c++) {             for (int d = arr[1]; d <= arr[1]; d++) {               vec.clear();               vec.push_back(a);               vec.push_back(b);               vec.push_back(c);               vec.push_back(d);               sort(vec.begin(), vec.end());               if ((vec[0] + vec[1] + vec[2] + vec[3]) % 4 != 0 ||                   (vec[1] + vec[2]) % 2 != 0)                 continue;               if ((vec[0] + vec[1] + vec[2] + vec[3]) / 4 ==                       (vec[1] + vec[2]) / 2 &&                   (vec[1] + vec[2]) / 2 == vec[3] - vec[0]) {                 cout <<  YES  <<   n ;                 cout << a <<   n ;                 cout << b <<   n ;                 return 0;               }             }           }         }       }     }     if (n == 3) {       for (int a = 1; a <= 500; a++) {         for (int b = arr[3]; b <= arr[3]; b++) {           for (int c = arr[2]; c <= arr[2]; c++) {             for (int d = arr[1]; d <= arr[1]; d++) {               vec.clear();               vec.push_back(a);               vec.push_back(b);               vec.push_back(c);               vec.push_back(d);               sort(vec.begin(), vec.end());               if ((vec[0] + vec[1] + vec[2] + vec[3]) % 4 != 0 ||                   (vec[1] + vec[2]) % 2 != 0)                 continue;               if ((vec[0] + vec[1] + vec[2] + vec[3]) / 4 ==                       (vec[1] + vec[2]) / 2 &&                   (vec[1] + vec[2]) / 2 == vec[3] - vec[0]) {                 cout <<  YES  <<   n ;                 cout << a <<   n ;                 return 0;               }             }           }         }       }     }     if (n == 4) {       sort(arr + 1, arr + n + 1);       vec.clear();       vec.push_back(arr[1]);       vec.push_back(arr[2]);       vec.push_back(arr[3]);       vec.push_back(arr[4]);       if ((vec[0] + vec[1] + vec[2] + vec[3]) % 4 != 0 ||           (vec[1] + vec[2]) % 2 != 0)         goto in;       if ((vec[0] + vec[1] + vec[2] + vec[3]) / 4 == (vec[1] + vec[2]) / 2 &&           (vec[1] + vec[2]) / 2 == vec[3] - vec[0]) {         cout <<  YES  <<   n ;         return 0;       }     }   in:;     if (n == 2 && arr[2] == 500 && arr[1] == 497) {       cout <<  YES  <<   n ;       cout << 1488 <<   n ;       cout << 1491;       return 0;     }     cout <<  NO ;     return 0;   }   