func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   inline T gcd(T a, T b) {     while (b) b ^= a ^= b ^= a %= b;     return a;   }   template <class T>   inline T lcm(T a, T b) {     a = abs(a);     b = abs(b);     return (a / gcd(a, b)) * b;   }   template <class T>   inline T my_strrev(T array) {     int N = strlen(array);     for (int i = 0; i < N / 2; ++i) swap(array[i], array[N - i - 1]);   }   template <class T>   inline T my_revara(T array, int N) {     for (int i = 0; i < N / 2; ++i) swap(array[i], array[N - i - 1]);   }   int fx[8] = {0, -1, 1, 1, 1, 0, -1, -1};   int fy[8] = {1, 0, 1, -1, 0, -1, -1, 1};   int main() {     string str1, str2;     cin >> str1;     cin >> str2;     int len = str1.length();     int flag = 0;     for (int i = 0; i < len; i++) {       if (flag == 1) {         if (str2[i] !=  a ) {           str2[i] = str2[i] - 1;           cout << str2 << endl;           return 0;         }         if (str1[i] !=  z ) {           str1[i] = str1[i] + 1;           cout << str1 << endl;           return 0;         }       }       if (str2[i] > str1[i]) {         if (str2[i] - str1[i] > 1) {           str1[i] = str1[i] + 1;           cout << str1 << endl;           return 0;         }         flag = 1;       }     }     printf( No such string n );     return 0;   }   