#T7656. 讨厌的回文串

讨厌的回文串

题目描述

QQ 讨厌回文串。假设长度为 nn 的字符串 ss 是小 QQ 喜欢的字符串, 那么 ss 的每个字符都是英语字母表小写字母的前 pp 个字母之一, 并且 ss 中不包含任何回文串, 这里回文串的概念是长度为 22 以上的回文连续子串。

假如小 QQ 已经有了一个喜欢的字符串 ss , 他还想要找到按照字典序, 第一个比 ss 字典序大, 而且一定在英语小写字母表前 pp 个字符内并且不包含长度为 22 以上的回文串。

字典序(dictionary order),又称 字母序(alphabetical order),含义是表示 英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系

先比较字符串的第一个字符,如果相同则比较下一个字符,依此类推,直到找到不同的字符或者其中一个字符串结束。故 “abc” < "acb" < "acbd"

输入格式

第一行, 空格分开的两个整数 nnppnn 个小写字母组成的字符串, 保证字符串是小 QQ 喜欢的。

输出格式

如果存在字典序上下一个, 小 QQ 喜欢的字符串, 就输出这个字符串。没有就输出 NO

样例1

3 3
cba
NO

【样例1解释】

在不超过第 33 个小写字母 cc 的情况下

cbacba 后面的字典序依次为 cbb,cbc,cca,ccb,ccccbb,cbc,cca,ccb,ccc, 都存在回文串的情况,即不存在小 QQ 喜欢的字符串

样例2

3 4
cba
cbd

【样例2解释】

在不超过第 44 个小写字母 dd 的情况下

cbacba 后面的字典序依次为 cbb,cbc,cbdcbb,cbc,cbd。而 cbdcbd 不存在回文串的情况,故下一个小 QQ 喜欢的字符串是 cbdcbd

样例3

4 4
abcd
abda

数据范围

1n100,1p261\le n\le 100,1\le p\le 26 且字母均为小写字母。