func_code_string: #include <bits/stdc++.h>   using namespace std;   bool comp(const int a, const int b) { return a > b; }   long long binpow(long long a, long long n, int mod) {     long long res = 1;     while (n)       if (n & 1) {         res *= a;         res %= mod;         --n;       } else {         a *= a;         a %= mod;         n >>= 1;       }     if (res == 0) res = mod;     return res;   }   vector<int> prefix_function(string s) {     int n = (int)s.length();     vector<int> pi(n);     for (int i = 1; i < n; ++i) {       int j = pi[i - 1];       while (j > 0 && s[i] != s[j]) j = pi[j - 1];       if (s[i] == s[j]) ++j;       pi[i] = j;     }     return pi;   }   string ss1, ss2;   int main() {     vector<int> a = prefix_function( a#aa );     int n;     cin >> n;     string s, str;     vector<string> v;     for (int i = 0; i < n; i++) {       cin >> str;       v.push_back(str);     }     for (int i =  a ; i <=  z ; i++) {       bool bb = true;       ss1 = i;       string f = ss1;       for (int ii = 0; ii < n && bb == true; ii++) {         vector<int> a = prefix_function(f +  #  + v[ii]);         for (int jj = f.length() + 1; jj < a.size() && bb == true; jj++) {           if (a[jj] == f.size()) {             bb = false;             break;           }         }       }       if (bb == true) {         cout << f;         return 0;       }     }     for (int i =  a ; i <=  z ; i++) {       for (int j =  a ; j <=  z ; j++) {         bool bb = true;         ss1 = i;         ss2 = j;         string f = ss1.append(ss2);         for (int ii = 0; ii < n && bb == true; ii++) {           vector<int> a = prefix_function(f +  #  + v[ii]);           for (int jj = f.length() + 1; jj < a.size() && bb == true; jj++) {             if (a[jj] == f.size()) {               bb = false;               break;             }           }         }         if (bb == true) {           cout << f;           return 0;         }       }     }     return 0;   }   