#include <bits/stdc++.h>
using namespace std;
int arr[2000];
int main() {
  int n, k;
  cin >> n >> k;
  string st;
  cin >> st;
  for (int i = 0; i < st.length(); i++) {
    arr[i] = st[i] - 'a';
  }
  bool canDo = false;
  bool increased = false;
  int mostIntPos = -1;
  int toChange = -1;
  for (int i = st.length() - 1; i >= 0; i--) {
    int cyka = 1;
    while (arr[i] + cyka < k) {
      if ((i - 2 < 0 || arr[i - 2] != arr[i] + cyka) &&
          (i - 1 < 0 || arr[i - 1] != arr[i] + cyka)) {
        mostIntPos = i;
        toChange = arr[i] + cyka;
        arr[i] += cyka;
        break;
      } else
        cyka++;
    }
    if (toChange != -1) {
      canDo = true;
      break;
    }
  }
  if (toChange == -1) {
    cout << "NO";
    return 0;
  }
  for (int i = mostIntPos + 1; i < st.length(); i++) {
    bool is = false;
    for (int j = 0; j < k; j++) {
      if ((i - 2 < 0 || arr[i - 2] != j) && (i - 1 < 0 || arr[i - 1] != j)) {
        is = true;
        arr[i] = j;
        break;
      }
    }
    if (!is) {
      cout << "NO";
      return 0;
    }
  }
  string newSt = "";
  for (int i = 0; i < st.length(); i++) {
    newSt += (arr[i] + 'a');
  }
  cout << newSt;
  return 0;
}
