CF464A No to Palindromes!
Description
Paul hates palindromes. He assumes that string $ s $ is tolerable if each its character is one of the first $ p $ letters of the English alphabet and $ s $ doesn't contain any palindrome contiguous substring of length 2 or more.
Paul has found a tolerable string $ s $ of length $ n $ . Help him find the lexicographically next tolerable string of the same length or else state that such string does not exist.
Input Format
The first line contains two space-separated integers: $ n $ and $ p $ ( $ 1
Output Format
If the lexicographically next tolerable string of the same length exists, print it. Otherwise, print "NO" (without the quotes).
Explanation/Hint
String $ s $ is lexicographically larger (or simply larger) than string $ t $ with the same length, if there is number $ i $ , such that $ s_{1}=t_{1} $ , ..., $ s_{i}=t_{i} $ , $ s_{i+1}>t_{i+1} $ .
The lexicographically next tolerable string is the lexicographically minimum tolerable string which is larger than the given one.
A palindrome is a string that reads the same forward or reversed.