#include <bits/stdc++.h>   using namespace std;   int main() {     int n, p;     cin >> n >> p;     string s;     cin >> s;     bool f = 0;     int i = s.size() - 1;     if (i > 0) {       while (s[i] -  a  == p - 1) {         s[i] =  a ;         i--;       }       s[i]++;     }     if (s.size() == 2) i = s.size() - 1;     while (!f) {       if (i > 1 && s[i] != s[i - 1] && s[i] != s[i - 2])         if (i == s.size() - 1) {           f = 1;           break;         } else           i++;       else if (i > 1 && (s[i] == s[i - 1] || s[i] == s[i - 2])) {         if (s[i] -  a  < p - 1)           s[i]++;         else {           s[i] =  a ;           i--;           while (s[i] -  a  == p - 1 && i >= 0) {             s[i] =  a ;             i--;           }           if (i < 0) {             f = 0;             break;           }           if (i != 0) s[i]++;         }       } else if (i == 1 && s[i] != s[i - 1])         if (i == s.size() - 1) {           f = 1;           break;         } else           i++;       else if (i == 1 && s[i] == s[i - 1])         if (s[i] -  a  < p - 1)           s[i]++;         else {           s[i] =  a ;           i--;           if (s[i] -  a  == p - 1) {             f = 0;             break;           }         }       else if (i == 0) {         if (s[i] -  a  < p - 1) {           s[i]++;           i++;         } else {           f = 0;           break;         }         if (s.size() == 1) {           f = 1;           break;         }       }     }     if (f != 0)       cout << s << endl;     else       cout <<  NO  << endl;   }   