func_code_string: #include <bits/stdc++.h>   #pragma GCC optimize( O3 )   using namespace std;   stringstream output;   inline void eOP();   inline void solve() {     int n, k;     cin >> n >> k;     string s;     cin >> s;     bool* letters = new bool[26]();     for (int i = 0; i < n; ++i) {       letters[s[i] -  a ] = true;     }     vector<char> decode;     for (int i = 0; i < 26; ++i) {       if (letters[i]) {         decode.push_back(i +  a );       }     }     unordered_map<char, int> encode;     for (int i = 0; i < decode.size(); ++i) {       encode[decode[i]] = i;     }     vector<int> t;     t.reserve(k);     const size_t L = min(n, k);     for (int i = 0; i < L; ++i) {       t.push_back(encode[s[i]]);     }     t.resize(k);     if (k <= n) {       int i = k - 1;       ++t[i];       while (t[i] == decode.size()) {         t[i] = 0;         --i;         ++t[i];       }     }     for (int code : t) {       output << decode[code];     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     size_t t = 1;     for (int i = 0; i < t; ++i) {       solve();     }     eOP();   }   inline void eOP() {     cout << output.str();     output.str(string());     exit(0);   }   