E - Reversing and Concatenating

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 1300

問題文

高橋君は英小文字からなる長さ N の文字列 S を持っています。 高橋君は S に対して以下の操作を K 回行うことにしました。

  • S を反転した文字列を T として、ST をこの順に連結して得られる文字列を U とする。
  • ある U の連続する長さ N の部分文字列を S' として、SS' で置き換える。

最終的な 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