#include <bits/stdc++.h>
using namespace std;
int n, p, flag;
char s[1111];
int a[1111];
void dfs(int x) {
  if (!x) {
    flag = 0;
    return;
  }
  while (1) {
    a[x]++;
    if (a[x] > p) {
      dfs(x - 1);
      a[x] = 0;
      continue;
    }
    if (!(x > 1 && a[x] == a[x - 1] || x > 2 && a[x] == a[x - 2])) break;
  }
  if (x == n)
    for (int i = 0; i < n; i++) s[i] = a[i + 1] - 1 + 'a';
}
int main() {
  cin >> n >> p;
  gets(s);
  gets(s);
  for (int i = 0; i < n; i++) a[i + 1] = s[i] - 'a' + 1;
  flag = 1;
  dfs(n);
  if (flag)
    puts(s);
  else
    puts("NO");
}
