#include <bits/stdc++.h>
using namespace std;
char s[10005];
int check(int i) {
  if (i - 1 >= 0 && s[i] == s[i - 1]) return 0;
  if (i - 2 >= 0 && s[i] == s[i - 2]) return 0;
  return 1;
}
int main() {
  int(n);
  scanf("%d", &n);
  ;
  int(p);
  scanf("%d", &p);
  ;
  scanf("%s", s);
  int f;
  char ch = 'a' + p - 1;
  for (int i = n - 1; i >= 0; i--) {
    if (s[i] < ch) {
      s[i] = s[i] + 1;
      while (check(i) == 0 && s[i] + 1 <= ch) s[i] = s[i] + 1;
      f = check(i);
      if (check(i))
        for (int j = i + 1; j < n; j++) {
          s[j] = 'a';
          while (check(j) == 0 && s[j] + 1 <= ch) s[j] = s[j] + 1;
          f &= check(j);
        }
      if (f) {
        printf("%s\n", s);
        return 0;
      }
    }
  }
  printf("NO\n");
  return 0;
}
