AT_abc416_g [ABC416G] Concat (1st)
Description
$ N $ 個の文字列 $ S_1,\ldots,S_N $ が与えられます。
全ての要素が $ 1 $ 以上 $ N $ 以下であるような長さ $ K $ の数列 $ (A_1,\ldots,A_K) $ に対し、 文字列 $ f(A_1,\ldots,A_K) $ を $ S_{A_1}+S_{A_2}+\dots+S_{A_K} $ と定めます。ここで `+` は文字列の連結を表します。
$ N^K $ 個の数列全てについての $ f(A_1,\dots,A_K) $ のうち辞書順最小の文字列を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ S_1 $ $ \vdots $ $ S_N $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
- $ f(1,1)= $ `abcabc`
- $ f(1,2)= $ `abcxxx`
- $ f(1,3)= $ `abcabc`
- $ f(2,1)= $ `xxxabc`
- $ f(2,2)= $ `xxxxxx`
- $ f(2,3)= $ `xxxabc`
- $ f(3,1)= $ `abcabc`
- $ f(3,2)= $ `abcxxx`
- $ f(3,3)= $ `abcabc`
であり、これらのうち辞書順最小は `abcabc` です。
### Constraints
- $ 1\leq N \leq 10^5 $
- $ 1\leq K \leq 10^5 $
- $ S_i $ は英小文字からなる長さ $ 10 $ 以下の文字列
- $ N,K $ は整数