众所周知,香山的红叶非常著名。然而,CTSC 举行的时间是在 5 月,而红叶的季节是秋天,所以这个季节是看不到红叶的,于是我们在 CTSC 比赛中就只能讨论香山的树了。
s-quark 很喜欢这些树,他计划在每棵树上贴一个各不相同的标签。每个标签为条形,可以在树干上绕成一圈。为了区分每一棵树,s-quark 在每个标签上印了一个由小写英文字母组成的字符串。由于树干周长的限制,标签的长度也是有限的,因此这个字符串至多只能由N个字母组成。
但是,由于标签是在树干上围成一圈的,所以当标签在树上贴好以后,就不再能找到标签的起始位置了。所以,如果两棵树上的标签循环同构,例如分别为 "abc" 和 "cab" ,那么这两棵树就不再能通过标签区分了。针对这个问题,s-quark 想了一个巧妙的办法。对于一个已经在树上贴好的标签,s-quark 规定它的起始位置必须是能够使得字符串的字典序最小的起始位,即如果看到的字符串是 "aba",那么就可以推断出从正确的起始位置开始看到的字符串应为 "aab"。
另外,对于有些标签,例如 "abab",尽管符合字典序最小的规则,但是这样的起始位置不唯一,s-quark 认为这种情况也是不理想的。所以,这样的标签 s-quark 也会避免使用。s-quark 已经把所有的树都编好了顺序,准备在第一棵树上贴标签 "a",之后按照字典序给每棵树贴上不同的标签。
以
s-quark 知道,香山上的树总共有
输入格式
输入的第一行两个正整数
第二行一个由小写英文字母组成的字符串
输出格式
输出仅一行,输出一个字符串
样例一
input
3 10 a
output
aaj
样例二
input
3 10 xy
output
yzz
样例三
input
1 100 a
output
-1
样例四
input
25 1000000000000000 u
output
uuuuuvxzuxvwwyzzuyzvxuvxw
子任务
测试点编号 | 约定 | ||
---|---|---|---|
1 | |||
2, 3 | 无 | ||
4 | |||
5 | |||
6 | |||
7, 8 | |||
9, 10 |
时间限制:
空间限制: