func_code_string: #include <bits/stdc++.h>   using namespace std;   bool yes(int x1, int x2, int x3, int x4) {     int num1 = (x1 + x2 + x3 + x4) / 4, num2 = (x2 + x3) / 2, num3 = x4 - x1;     if (((x1 + x2 + x3 + x4) % 4 != 0) || ((x2 + x3) % 2 != 0) || num1 != num2 ||         num1 != num3 || x1 == -1 || x2 == -1 || x3 == -1 || x4 == -1)       return false;     if (x1 <= x2 && x2 <= x3 && x3 <= x4) return true;     return false;   }   bool fun(int x1, int x2, int x3, int x4, vector<int> sol) {     for (int i = 1; i <= 2000; i++) {       vector<int> Sol = sol;       int X1 = x1, X2 = x2, X3 = x3, X4 = x4;       x1 = i;       x4 = i * 3;       if (x2 == -1 && x3 != -1)         x2 = x4 + x1 - x3, sol.push_back(x2);       else if (x2 != -1 && x3 == -1)         x3 = x4 + x1 - x2, sol.push_back(x3);       else if (x2 != -1 && x3 != -1 && x2 + x3 != x1 + x4)         continue;       if (yes(x1, x2, x3, x4)) {         cout <<  YES n ;         for (int i = 0; i < (int)sol.size(); i++) cout << sol[i] <<   n ;         return true;       }       x1 = X1, x2 = X2, x3 = X3, x4 = X4, sol = Sol;     }     return false;   }   bool Fun(int x1, int x2, int x3, int x4, vector<int> sol) {     for (int i = 1; i <= 2000; i++) {       x2 = i;       x3 = x4 + x1 - x2;       vector<int> Sol = sol;       sol.push_back(x2);       sol.push_back(x3);       if (yes(x1, x2, x3, x4)) {         cout <<  YES n ;         for (int I = 0; I < (int)sol.size(); I++) cout << sol[I] << endl;         return true;       }       sol = Sol;     }     return false;   }   int main() {     ios::sync_with_stdio(false);     int n;     cin >> n;     int ar[4];     memset(ar, -1, sizeof(ar));     for (int i = 0; i < n; i++) cin >> ar[i];     if (n == 0) {       cout <<  YES n1 n1 n3 n3 ;       goto ss;     }     for (int i = 0; i < 4; i++)       for (int i1 = 0; i1 < 4; i1++)         for (int i2 = 0; i2 < 4; i2++)           for (int i3 = 0; i3 < 4; i3++) {             if (i == i1 || i == i2 || i == i3 || i1 == i2 || i1 == i3 || i2 == i3)               continue;             vector<int> sol;             int x1 = ar[i], x2 = ar[i1], x3 = ar[i2], x4 = ar[i3];             if (x1 != -1 && x4 != -1) {               if (x1 * 3 != x4) continue;             } else if (x1 == -1 && x4 != -1) {               x1 = x4 / 3;               if (x4 % 3 != 0) continue;               sol.push_back(x1);             } else if (x1 != -1 && x4 == -1) {               x4 = x1 * 3;               sol.push_back(x4);             } else if (x1 == -1 && x4 == -1)               if (fun(x1, x2, x3, x4, sol)) goto ss;             if (x2 == -1 && x3 == -1) {               if (Fun(x1, x2, x3, x4, sol)) goto ss;             } else if (x2 == -1) {               x2 = x4 + x1 - x3;               sol.push_back(x2);             } else if (x3 == -1) {               x3 = x4 + x1 - x2;               sol.push_back(x3);             }             if (yes(x1, x2, x3, x4)) {               cout <<  YES n ;               for (int I = 0; I < (int)sol.size(); I++) cout << sol[I] <<   n ;               goto ss;             }           }     cout <<  NO ;   ss:     return 0;   }   