func_code_string: #include <bits/stdc++.h>   #pragma comment(linker,  /stack:200000000 )   #pragma GCC optimize( Ofast )   #pragma GCC target( sse,sse2,sse3,ssse3,sse4 )   using namespace std;   const int inf = (int)2e9 + 99999, mod = (int)1e9 + 7;   const long long linf = (long long)2e18 + 99999;   int kob(int x, int y) { return ((long long)x * y) % mod; }   int aza(int x, int y) {     x -= y;     if (x < 0) return x + mod;     return x;   }   int kos(int x, int y) {     x += y;     if (x >= mod) return x - mod;     return x;   }   const int maxn = (int)1e5 + 777, maxn2 = (int)1e6 + 55;   int main() {     int a1, a2, a3, a4;     cin >> a1 >> a2 >> a3 >> a4;     int a11 = a1, a22 = a2, a33 = a3, a44 = a4;     a1 -= a3;     a2 -= a3;     bool bad = false;     if (a3 <= a4) bad = 1, --a1;     if (a3 < a4) --a2;     if (abs(a3 - a4) >= 2 || a1 < 0 || a2 < 0) {       if (a33 == a44 && a11 < a22) {         a11 -= a33;         a22 -= a33;         a22--;         if (a11 < 0 || a22 < 0) {           cout << -1;           exit(0);         }         for (int i = 1; i <= a33; ++i) cout <<  74 ;         for (int i = 1; i <= a11; ++i) cout << 4;         cout << 7;         for (int i = 1; i <= a22; ++i) cout << 7;         exit(0);       }       cout <<  -1 , exit(0);     }     if (a3 < a4) cout <<  7 ;     for (int i = 1; i <= a1; ++i) cout <<  4 ;     for (int i = 1; i <= a3; ++i) cout <<  47 ;     for (int i = 1; i <= a2; ++i) cout <<  7 ;     if (bad) cout <<  4 ;     return 0;   }   