#include <bits/stdc++.h>
using namespace std;
const int N = 1e6;
int n, p, ok;
char lim;
string t, s, v;
bool check(int i) {
  if (i >= 1)
    if (t[i] == t[i - 1]) return false;
  if (i >= 2)
    if (t[i] == t[i - 2]) return false;
  return true;
}
void backtrack(int k) {
  if (k == n) {
    if (t > s) {
      ok = true;
      cout << t << endl;
      return;
    }
  } else {
    if (ok) return;
    for (int i = 'a'; i < lim; i++) {
      t[k] = i;
      if (!check(k)) continue;
      v = t;
      for (int j = k + 1; j < n; j++) v[j] = lim - 1;
      if (v <= s) continue;
      backtrack(k + 1);
      if (ok) return;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> p >> s;
  lim = p + 'a';
  t.resize(n);
  backtrack(0);
  if (!ok) cout << "NO";
}
