func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int a, b, c, d;     cin >> a >> b >> c >> d;     int arr[4];     arr[0] = a;     arr[1] = b;     arr[2] = c;     arr[3] = d;     int cmax = b;     if (c > b) cmax = c;     int k = 0;     if (b >= a) k++;     if (c >= d) k++;     if (a + c >= b) k++;     if (b + d >= c) k++;     int m = a + c - b - d;     int l = b + d - c - a;     if (a == 0 || b == 0 || c == 0 || d == 0) {       int ind = 0;       int brr[3], crr[3];       for (int u = 0; u < 4; u++) {         if (arr[u] != 0) {           brr[ind++] = arr[u];           crr[ind - 1] = u;         }       }       if (ind == 1 || ind == 2) {         if (ind == 1 && brr[0] == 1) {           cout <<  YES  << endl;           cout << crr[0];           return 0;         } else if (ind == 1 && brr[0] != 1) {           cout <<  NO ;           return 0;         } else {           if (crr[1] - crr[0] > 1) {             cout <<  NO ;             return 0;           } else {             if (abs(brr[1] - brr[0]) > 1) {               cout <<  NO ;               return 0;             } else {               cout <<  YES  << endl;               int ai = brr[0];               int bi = brr[1];               int ci = ai, ji = crr[1], ki = crr[0];               if (bi < ai) {                 ci = bi;                 ji = crr[0];                 ki = crr[1];               }               for (int i = 0; i < ci; i++) {                 cout << ji <<     << ki <<    ;               }               if (ai != bi) {                 cout << ji;               }               return 0;             }           }         }       } else {         int j = brr[0] + brr[2];         int u = brr[1];         for (int i = 1; i < 3; i++)           if (abs(crr[i] - crr[i - 1]) > 1) {             cout <<  NO ;             return 0;           }         if (abs(u - j) > 1) {           cout <<  NO ;           return 0;         } else {           int ii = 0;           int i = 0;           cout <<  YES  << endl;           if (u - j == 1) {             cout << crr[1] <<    ;             brr[1]--;           }           while (ii < 2) {             while (true) {               if (brr[i] == 0) break;               cout << crr[i] <<    ;               brr[i]--;               if (brr[i] == 0) break;               if (brr[i + 1] == 0) break;               cout << crr[i + 1] <<    ;               brr[i + 1]--;             }             ii++;             i++;           }           if (brr[2] == 1) {             cout << crr[2];           } else if (brr[1] == 1) {             cout << crr[1];           }           return 0;         }       }     } else if (k < 4)       cout <<  NO ;     else if (abs(m) > 1)       cout <<  NO ;     else if (abs(l) > 1)       cout <<  NO ;     else {       cout <<  YES  << endl;       int r = 0, i = 1;       bool f = false;       if ((c - d) < (b - a)) {         r = 1;         i = 0;         f = true;       }       int ii = 0;       while (ii < 3) {         while (true) {           cout << r <<    ;           arr[r]--;           if (arr[r] == 0) break;           cout << i <<    ;           arr[i]--;           if (arr[i] == 0) break;         }         ii++;         if (f) {           i = 2;           f = !f;         } else {           i++;           r++;         }       }       if (arr[2] == 1) cout <<  2 ;       if (arr[3] == 1) cout <<  3 ;     }   }   