atcoder#ARC058D. [ARC058F] 文字列大好きいろはちゃん

[ARC058F] 文字列大好きいろはちゃん

配点 : 15001500

問題文

いろはちゃんは NN 個の文字列 s1,s2,...,sNs_1, s_2, ..., s_N を持っています。

いろはちゃんは、この中からいくつか文字列を選びます。そして添字の昇順で選んだ文字列を繋げ、長さ KK の文字列を作ります。

作れる長さ KK の文字列のうち、もっとも辞書順で小さいものを求めてください。

制約

  • 1N20001 \leq N \leq 2000
  • 1K1041 \leq K \leq 10^4
  • 1siK1 \leq |s_i| \leq K
  • s1+s2+...+sN106|s_1| + |s_2| + ... + |s_N| \leq 10^6
  • ii について, sis_i は全て半角英小文字のみから成る文字列である。
  • 長さ KK の文字列を作る方法が存在することが保証される。

入力

入力は以下の形式で標準入力から与えられる。

NN KK

s1s_1

s2s_2

:

sNs_N

出力

作れる長さ KK の文字列のうち、もっとも辞書順で小さいものを出力せよ。

3 7
at
coder
codar
atcodar

atcodar を選択します。

3 7
coder
codar
at
codarat

codarat を選択します。

4 13
kyuri
namida
zzzzzzz
aaaaaa
namidazzzzzzz

namidazzzzzzz を選択します。