#include <bits/stdc++.h>
using namespace std;
bool check(int pos, string *s, char u) {
  if (pos > 0 && (*s)[pos - 1] == u) return 0;
  if (pos > 1 && (*s)[pos - 2] == u) return 0;
  return 1;
}
string ans = "";
int n, p;
void solve(string a) {
  for (int i = 0; i < a.size(); i++) {
    for (int j = (int)a[i] + 1; j < p + 'a'; j++)
      if (check(i, &a, (char)j)) {
        string H(a, 0, i);
        H += (char)j;
        for (H.size(); H.size() < a.size();)
          for (char o = 'a'; o != 'd'; o++)
            if (check(H.size(), &H, o)) {
              H += o;
              break;
            }
        ans = H;
        break;
      }
  }
}
int main() {
  cin >> n >> p;
  string a;
  cin >> a;
  solve(a);
  if (p <= 2) {
    if (a == "ab")
      cout << "ba" << endl;
    else if (a == "a" && p == 2)
      cout << "b" << endl;
    else
      cout << "NO" << endl;
    return 0;
  }
  if (ans.size() == a.size())
    cout << ans << endl;
  else
    cout << "NO" << endl;
  return 0;
}
