#include <bits/stdc++.h>
using namespace std;
int n, k;
char s[100005];
void input() {
  scanf("%d%d", &n, &k);
  int i;
  getchar();
  for (i = 0; i < n; i++) {
    scanf("%c", &s[i]);
  }
}
char getOKLetter(int position) {
  char i;
  for (i = s[position] + 1; i <= 'a' + k - 1; i++) {
    if (position >= 2) {
      if ((i != s[position - 1]) && (i != s[position - 2])) {
        return i;
      }
    } else if (position == 1) {
      if ((i != s[position - 1])) {
        return i;
      }
    } else if (position == 0) {
      return i;
    }
  }
  return 0;
}
void process() {
  int i;
  int modifyPosition;
  for (i = n - 1; i >= 0; i--) {
    char temp = getOKLetter(i);
    if (temp != 0) {
      s[i] = temp;
      modifyPosition = i;
      break;
    }
  }
  if (i == -1) {
    printf("NO\n");
    return;
  }
  for (i = modifyPosition + 1; i < n; i++) {
    s[i] = 'a' - 1;
    char temp = getOKLetter(i);
    if (temp != 0) {
      s[i] = temp;
    }
  }
  for (i = 0; i < n; i++) {
    printf("%c", s[i]);
  }
}
int main() {
  input();
  process();
  return 0;
}
