#include <bits/stdc++.h>
using namespace std;
int T, N, P, A[1001];
string S;
bool ok(int K) {
  if (K < 0) return 0;
  for (int i = S[K] - 'a' + 1; i < P; i++) {
    if (K > 1) {
      if ((S[K - 1] - 'a') != i && (S[K - 2] - 'a') != i) {
        S[K] = char('a' + i);
        return 1;
      }
    } else if (K > 0) {
      if ((S[K - 1] - 'a') != i) {
        S[K] = char('a' + i);
        return 1;
      }
    } else {
      S[K] = char('a' + i);
      return 1;
    }
  }
  bool s = ok(K - 1);
  for (int i = 0; i < P; i++) {
    if (K > 1) {
      if ((S[K - 1] - 'a') != i && (S[K - 2] - 'a') != i) {
        S[K] = char('a' + i);
        return s;
      }
    } else if (K > 0) {
      if ((S[K - 1] - 'a') != i) {
        S[K] = char('a' + i);
        return s;
      }
    } else {
      S[K] = char('a' + i);
      return s;
    }
  }
  return 0;
}
int main() {
  cin >> N >> P;
  cin >> S;
  if (ok(N - 1)) {
    cout << S;
  } else {
    cout << "NO";
  }
  return 0;
}
