func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 1000000007;   const int N = 1000000 + 5;   const int K = 26 + 5;   char s[N], t[N];   int ns[K], nt[K], ans[K];   int main() {     scanf( %s %s , s, t);     for (int i = 0; t[i]; ++i) {       nt[t[i] -  a ]++;     }     int cnt = 0;     for (int i = 0; s[i]; ++i) {       if (s[i] !=  ? )         ns[s[i] -  a ]++;       else         cnt++;     }     while (1) {       int c = 0;       for (int i = 0; i < 26; ++i) {         if (nt[i]) c += max(0, nt[i] - ns[i]);       }       if (cnt < c) break;       for (int i = 0; i < 26; ++i) {         if (nt[i]) {           ans[i] += max(0, nt[i] - ns[i]);           ns[i] = max(0, ns[i] - nt[i]);         }       }       cnt -= c;     }     int k = 0;     for (int i = 0; s[i]; ++i) {       if (s[i] ==  ? ) {         while (k < 26 && ans[k] <= 0) k++;         if (k < 26) ans[k]--;         printf( %c ,  a  + (k < 26 ? k : 0));       } else {         printf( %c , s[i]);       }     }     printf(  n );   }   