func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int n, zheng = 0, mmax = 0, strc, stra, cuowu;     char a[1000], b[26], c[1000];     double bb[26], sheng[26], bisheng[26], cc[26];     cin >> a;     cin >> n;     sort(a, a + strlen(a));     memset(c, 0, sizeof(c));     b[0] =  a ;     for (int i = 1; i < 26; i++) {       b[i] = b[i - 1] + 1;     }     for (int i = 0; i < 26; i++) {       bb[i] = 0, cc[i] = 0, sheng[i] = 0, bisheng[i] = 0;     }     for (int i = 0; i < strlen(a); i++) {       for (int j = 0; j < 26; j++) {         if (a[i] == b[j]) bb[j]++;       }     }     for (int i = 0; i < 26; i++) {       if (bb[i] != 0) zheng++;       if (bb[i] > mmax) mmax = bb[i];     }     stra = strlen(a);     if (n > strlen(a)) {       cout << 1 << endl;       int cuowu = 0;       for (int k = 0; k < 26; k++) {         if (sheng[k] > sheng[cuowu]) cuowu = k;       }       for (int i = 0; i < n - stra; i++) {         a[i + stra] = a[cuowu];       }       for (int i = 0; i < n; i++) {         cout << a[i];       }       cout << endl;     } else if (n < zheng) {       cout << -1 << endl;     } else {       int j = 0, yu;       for (int i = 0; i < 26; i++) {         sheng[i] = bb[i];         bisheng[i] = bb[i];         if (bb[i] != 0) {           c[j] = b[i];           cc[i] = 1;           j++;         }       }       yu = n - strlen(c);       if (yu == 0) {         cout << mmax << endl;         cout << c << endl;       } else {         strc = strlen(c);         mmax = 0;         for (int i = 0; i < yu; i++) {           for (int k = 0; k < 26; k++) {             if (sheng[k] > sheng[mmax]) mmax = k;           }           cc[mmax] += 1;           sheng[mmax] = bisheng[mmax] / cc[mmax];           c[i + strc] = b[mmax];         }         for (int k = 0; k < 26; k++) {           if (sheng[k] > sheng[mmax]) mmax = k;         }         cout << ceil(sheng[mmax]) << endl;         cout << c << endl;       }     }   }   