func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   string s, t, a;   void dfs(int i, int c4, int c7, bool d) {     if (c4 + n - i < n / 2 || c7 + n - i < n / 2) return;     if (i == n) {       a = t;       return;     }     if (d) {       t[i] =  4 ;       dfs(i + 1, c4 + 1, c7, 1);       if (a !=   ) return;       t[i] =  7 ;       dfs(i + 1, c4, c7 + 1, 1);     } else {       if (s[i] <=  4 ) {         t[i] =  4 ;         dfs(i + 1, c4 + 1, c7, s[i] <  4 );         if (a !=   ) return;       }       if (s[i] <=  7 ) {         t[i] =  7 ;         dfs(i + 1, c4, c7 + 1, s[i] <  7 );       }     }   }   int main() {     cin >> s;   restart:     if (s.size() % 2) s =  0  + s;     n = s.size();     t = string(n,  0 );     dfs(0, 0, 0, 0);     if (a ==   ) {       s =  00  + s;       goto restart;     } else {       cout << a << endl;     }   }   