#include <bits/stdc++.h>
using namespace std;
string str;
int len;
bool isvalid(int index) {
  if (index >= 0 && index < len)
    return 1;
  else
    return 0;
}
int main() {
  int n, p;
  cin >> n >> p;
  cin >> str;
  len = str.length();
  bool flag = 0;
  char c;
  int prev, prev_prev, curr, next, next_next;
  for (int i = n - 1; i >= 0; i--) {
    for (int j = str[i] - 'a' + 1; j < p; j++) {
      c = 'a' + j;
      prev_prev = i - 2;
      prev = i - 1;
      if (isvalid(prev_prev) && str[prev_prev] == c) {
        continue;
      }
      if (isvalid(prev) && str[prev] == c) {
        continue;
      }
      str[i] = c;
      if (isvalid(prev) && str[prev] != 'a') {
        for (int k = i + 1; k < n; k = k + 3) {
          str[k] = 'a';
          if (isvalid(k + 1)) {
            if (c == 'b')
              str[k + 1] = 'c';
            else
              str[k + 1] = 'b';
          }
          if (isvalid(k + 2)) {
            if (c == 'b')
              str[k + 2] = 'b';
            else
              str[k + 2] = 'c';
          }
        }
        cout << str << endl;
        return 0;
      }
      if (isvalid(prev) && str[prev] == 'a') {
        if (isvalid(i + 1) && c != 'b')
          str[i + 1] = 'b';
        else if (isvalid(i + 1) && c == 'b') {
          str[i + 1] = 'c';
        }
        for (int k = i + 2; k < n; k = k + 3) {
          str[k] = 'a';
          if (isvalid(k + 1)) {
            if (c != 'b')
              str[k + 1] = 'c';
            else
              str[k + 1] = 'b';
          }
          if (isvalid(k + 2)) {
            if (c != 'b')
              str[k + 2] = 'b';
            else
              str[k + 2] = 'c';
          }
        }
        cout << str << endl;
        return 0;
      } else {
        for (int k = i + 1; k < n; k = k + 3) {
          str[k] = 'a';
          if (isvalid(k + 1)) {
            if (c == 'b')
              str[k + 1] = 'c';
            else
              str[k + 1] = 'b';
          }
          if (isvalid(k + 2)) {
            if (c == 'b')
              str[k + 2] = 'b';
            else
              str[k + 2] = 'c';
          }
        }
        cout << str << endl;
        return 0;
      }
    }
  }
  cout << "NO\n";
}
