#include <bits/stdc++.h>
using namespace std;
const int MaxN = 400005;
const double eps = 1e-7;
const double DINF = 1e100;
const int INF = 1000000006;
const long long LINF = 1000000000000000005ll;
const int MOD = 1000000007;
const long long seed = 433;
int K, n;
long long a[MaxN], b[MaxN];
long long ha[MaxN], hb[MaxN], powe[MaxN];
char s[MaxN];
int ans[MaxN];
long long geta(int l, int r) {
  return (MOD + (ha[r] - ha[l - 1]) * powe[n - r] % MOD) % MOD;
}
long long getb(int l, int r) {
  int d = r - l + 1;
  return (MOD + (hb[r] - hb[l - 1] * powe[d] % MOD) * powe[n - d] % MOD) % MOD;
}
bool check(int x, int j) {
  ha[x] = (ha[x - 1] + powe[x - 1] * j) % MOD;
  hb[x] = (hb[x - 1] * seed + j) % MOD;
  if (x - K + 1 <= 0) return 1;
  bool a = geta(x - K + 1, x) == getb(x - K + 1, x), b;
  if (a) return 0;
  if (x <= K) return !a;
  b = (geta(x - K, x) == getb(x - K, x));
  if (a || b) return 0;
  return 1;
}
int main() {
  K = 2;
  scanf("%d", &n);
  int p;
  scanf("%d", &p);
  scanf("%s", s + 1);
  n = strlen(s + 1);
  for (int i = 1; i <= n; ++i) b[i] = a[n - i + 1];
  powe[0] = 1;
  for (int i = 1; i <= n; ++i) powe[i] = powe[i - 1] * seed % MOD;
  for (int i = 1; i <= n; ++i) a[i] = s[i] - 'a' + 1;
  for (int i = 1; i <= n; ++i) {
    ha[i] = (ha[i - 1] + powe[i - 1] * a[i]) % MOD;
    hb[i] = (hb[i - 1] * seed + a[i]) % MOD;
  }
  int st, begin = -1;
  for (st = 1; st <= n; ++st)
    if (!check(st, a[st])) break;
  for (int i = min(st, n); i >= 1; --i) {
    bool yes = 0;
    for (int j = a[i] + 1; j <= p; ++j) {
      if (check(i, j)) {
        begin = i;
        ans[i] = j;
        yes = 1;
        break;
      }
    }
    if (yes) break;
  }
  if (begin == -1) {
    puts("NO");
    return 0;
  }
  for (int i = 1; i < begin; ++i) ans[i] = a[i];
  for (int i = begin + 1; i <= n; ++i)
    for (int j = 1; j <= p; ++j)
      if (check(i, j)) {
        ans[i] = j;
        break;
      }
  for (int i = 1; i <= n; ++i) hb[i] = (hb[i - 1] * seed + ans[i]) % MOD;
  for (int i = 1; i <= n; ++i) putchar(ans[i] + 'a' - 1);
  return 0;
}
