Олимпиадный тренинг

Задача . A. Нет палиндромам!


Паша ненавидит палиндромы. Он считает строку s терпимой, если каждый ее символ — это одна из первых p букв латинского алфавита, и s не содержит ни одной подстроки-палиндрома длины 2 или больше.

Паша нашел терпимую строку s длины n. Помогите ему найти лексикографически следующую терпимую строку той же длины, либо определите, что такой не существует.

Входные данные

В первой строке записано два целых числа, разделенных пробелом: n и p (1 ≤ n ≤ 1000; 1 ≤ p ≤ 26). Во второй строке записана строка s, состоящая из n строчных латинских букв. Гарантируется, что строка является терпимой (согласно определению выше).

Выходные данные

Если лексикографически следующая терпимая строка той же длины существует, выведите ее. В противном случае выведите «NO» (без кавычек).

Примечание

Строка s лексикографически больше (или просто больше) строки t той же длины, если существует число i, такое что s1 = t1, ..., si = ti, si + 1 > ti + 1.

Лексикографически следующая терпимая строка — это лексикографически минимальная терпимая строка, большая данной.

Палиндром — это строка, которая одинаково читается слева направо и справа налево.


Примеры
Входные данныеВыходные данные
1 3 3
cba
NO
2 3 4
cba
cbd
3 4 4
abcd
abda

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя