

Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 1300 点
問題文
高橋君は英小文字からなる長さ N の文字列 S を持っています。 高橋君は S に対して以下の操作を K 回行うことにしました。
- S を反転した文字列を T として、S と T をこの順に連結して得られる文字列を U とする。
- ある U の連続する長さ N の部分文字列を S' として、S を S' で置き換える。
最終的な S として考えられる文字列の内、辞書順で最小のものを求めてください。
制約
- 1 ≦ N ≦ 5000
- 1 ≦ K ≦ 10^9
- |S|=N
- S は英小文字からなる
入力
入力は以下の形式で標準入力から与えられる。
N K S
出力
最終的な S として考えられる文字列の内、辞書順で最小のものを出力せよ。
入力例 1
5 1 bacba
出力例 1
aabca
S=bacba
のとき、T=abcab
, U=bacbaabcab
であるので S'=aabca
とするのが最適です。
入力例 2
10 2 bbaabbbaab
出力例 2
aaaabbaabb
Score : 1300 points
Problem Statement
Takahashi has a string S of length N consisting of lowercase English letters. On this string, he will perform the following operation K times:
- Let T be the string obtained by reversing S, and U be the string obtained by concatenating S and T in this order.
- Let S' be some contiguous substring of U with length N, and replace S with S'.
Among the strings that can be the string S after the K operations, find the lexicographically smallest possible one.
Constraints
- 1 \leq N \leq 5000
- 1 \leq K \leq 10^9
- |S|=N
- S consists of lowercase English letters.
Input
Input is given from Standard Input in the following format:
N K S
Output
Print the lexicographically smallest possible string that can be the string S after the K operations.
Sample Input 1
5 1 bacba
Sample Output 1
aabca
When S=bacba
, T=abcab
, U=bacbaabcab
, and the optimal choice of S' is S'=aabca
.
Sample Input 2
10 2 bbaabbbaab
Sample Output 2
aaaabbaabb