#include <bits/stdc++.h>
using namespace std;
char inp[1005], ans[1005];
int n, p;
bool possible(int pos, int ok) {
  if (pos == n) return ok;
  int start = ok ? 0 : inp[pos] - 'a';
  int i;
  for (i = start; i < p; i++) {
    ans[pos] = i + 'a';
    if (pos > 0 && ans[pos - 1] == ans[pos]) continue;
    if (pos > 1 && ans[pos - 2] == ans[pos]) continue;
    if (possible(pos + 1, ok | (i > start))) return true;
  }
  return false;
}
int main() {
  scanf("%d%d", &n, &p);
  scanf("%s", inp);
  bool ok = 0;
  int i;
  if (possible(0, 0)) {
    ans[n] = '\0';
    printf("%s\n", ans);
  } else
    printf("NO\n");
  return 0;
}
