func_code_string: #include <bits/stdc++.h>   using namespace std;   int arr[4];   int aux[100010];   int next(int x) {     if (x == 0) {       if (arr[1] > 0)         return 1;       else         return -1;     }     if (x == 1) {       if (arr[0] > 0)         return 0;       else if (arr[2] > 0)         return 2;       else         return -1;     }     if (x == 2) {       if (arr[1] > 0)         return 1;       else if (arr[3] > 0)         return 3;       else         return -1;     }     if (x == 3) {       if (arr[2] > 0)         return 2;       else         return -1;     }   }   int arrini[4];   int n;   void ok() {     cout <<  YES n ;     for (int i = 0; i < n; i++) cout << aux[i] <<    ;     cout <<   n ;   }   bool tenta(int ini) {     for (int i = 0; i < 4; i++) arr[i] = arrini[i];     arr[ini]--;     aux[0] = ini;     for (int i = 1; i < n; i++) {       int nex = next(aux[i - 1]);       if (nex == -1) return false;       aux[i] = nex;       arr[nex]--;     }     return true;   }   int main() {     ios_base::sync_with_stdio(false);     cin >> arrini[0] >> arrini[1] >> arrini[2] >> arrini[3];     for (int i = 0; i < 4; i++) arr[i] = arrini[i];     n = arr[0] + arr[1] + arr[2] + arr[3];     if (arrini[0] > 0) {       if (tenta(0)) {         ok();         return 0;       }     }     if (arrini[1] > 0) {       if (tenta(1)) {         ok();         return 0;       }     }     if (arrini[2] > 0) {       if (tenta(2)) {         ok();         return 0;       }     }     if (arrini[3] > 0) {       if (tenta(3)) {         ok();         return 0;       }     }     cout <<  NO n ;   }   