#include <bits/stdc++.h>
using namespace std;
char s[5000], ch[5000];
int k, n, p, i, id;
bool f;
int main() {
  for (int i = 0; i < 26; i++) {
    ch[i] = char(97 + i);
  }
  cin >> n >> p;
  for (int i = 1; i <= n; i++) {
    cin >> s[i];
  }
  i = n;
  while (i > 0) {
    if (s[i] == ch[p - 1])
      i--;
    else {
      f = false;
      id = 0;
      for (int j = (s[i] - 'a') + 1; j < p; j++) {
        if (i - 1 > 0 && i - 2 > 0) {
          if (s[i - 1] != ch[j] && s[i - 2] != ch[j]) f = true;
        } else if (i - 1 > 0 && i - 2 < 1) {
          if (s[i - 1] != ch[j]) f = true;
        } else if (i - 1 < 1 && i - 2 < 1)
          f = true;
        if (f) {
          id = j;
          break;
        }
      }
      if (id > 0) break;
      i--;
    }
  }
  if (i < 1)
    cout << "NO" << endl;
  else {
    s[i] = ch[id];
    k = i;
    for (int i = k + 1; i <= n; i++) {
      f = false;
      for (int c = 0; c < p; c++) {
        if (i - 1 > 0 && i - 2 > 0) {
          if (s[i - 1] != ch[c] && s[i - 2] != ch[c]) f = true;
        } else if (i - 1 > 0 && i - 2 < 1) {
          if (s[i - 1] != ch[c]) f = true;
        } else if (i - 1 < 1 && i - 2 < 1)
          f = true;
        if (f) {
          s[i] = ch[c];
          break;
        }
      }
    }
    for (int i = 1; i <= n; i++) cout << s[i];
    cout << endl;
  }
}
