func_code_string: #include <bits/stdc++.h>   using namespace std;   int ques[50005];   int ma[26];   int main() {     string s;     cin >> s;     int i, j;     memset(ques, 0, sizeof(ques));     int br = 1;     for (i = 0; i < (s.size()); i++) {       if (i != 0) ques[i] = ques[i] + ques[i - 1];       if (s[i] ==  ? ) ques[i] += 1;     }     for (i = 0; i < 26; i++) ma[i] = -100;     vector<char> second_bag;     int first_ind = 0;     for (i = 0; i < s.size(); i++) {       ma[s[i] -  A ] = i;       if (i >= 25) {         int t;         int char_count = 0;         vector<char> bag;         for (t = 0; t < 26; t++) {           if (!(ma[t] >= (i - 25) && (ma[t] <= i))) {             char_count++;             char ss =  A  + t;             bag.push_back(ss);           }         }         int ques_count = ques[i];         if ((i - 25) > 0) ques_count = ques_count - ques[i - 26];         if (char_count > ques_count)           bag.clear();         else {           int tt;           first_ind = i - 25;           int vc_count = 0;           for (tt = (i - 25); tt <= i; tt++) {             if (s[tt] ==  ? ) {               second_bag.push_back(bag[vc_count]);               vc_count++;             } else {               second_bag.push_back(s[tt]);             }           }           br = 0;           break;         }       }     }     if (br == 0) {       i = 0;       while (i < s.size()) {         if (i != first_ind) {           if (s[i] !=  ? )             cout << s[i];           else             cout <<  A ;         } else {           int temp1 = i - i;           for (temp1 = 0; temp1 < 26; temp1++) {             cout << second_bag[temp1];             i = i + 1;           }           i = i - 1;         }         i = i + 1;       }     }     if (br == 1) cout << -1 << endl;     return 0;   }   