func_code_string: #include <bits/stdc++.h>   using namespace std;   char inp[1005], ans[1005];   int n, p;   bool possible(int pos, int ok) {     if (pos == n) return ok;     int start = ok ? 0 : inp[pos] -  a ;     int i;     for (i = start; i < p; i++) {       ans[pos] = i +  a ;       if (pos > 0 && ans[pos - 1] == ans[pos]) continue;       if (pos > 1 && ans[pos - 2] == ans[pos]) continue;       if (possible(pos + 1, ok | (i > start))) return true;     }     return false;   }   int main() {     scanf( %d%d , &n, &p);     scanf( %s , inp);     bool ok = 0;     int i;     if (possible(0, 0)) {       ans[n] =   0 ;       printf( %s n , ans);     } else       printf( NO n );     return 0;   }   