Вам даны $N$ строк $S_1, \dots, S_N$, каждая из которых состоит из строчных латинских букв и имеет длину $M$.
Изначально пусть $X = S_1$. Выполните следующую операцию $N - 1$ раз.
В $i$-й операции пусть $Y$ — строка, образованная конкатенацией $X$ и $S_{i+1}$ в указанном порядке. Затем выберите любую непрерывную подстроку $Y$ длины $M$ и замените $X$ на эту подстроку.
Выведите лексикографически наименьшую строку, которая может стать конечным значением $X$.
Входные данные
В первой строке содержатся целые числа $N$ и $M$ в указанном порядке ($2 \le N \le 2000$, $1 \le M \le 2000$).
Каждая из следующих $N$ строк содержит строку $S_i$ длины $M$, состоящую из строчных латинских букв.
Выходные данные
Выведите ответ.
Примеры
Входные данные 1
2 3 cat cut
Выходные данные 1
atc
Примечание
В первом примере изначально $X = \text{cat}$.
В первой операции $Y = \text{catcut}$. Если мы выберем непрерывную подстроку со 2-го по 4-й символ, то $X = \text{atc}$, что является лексикографически наименьшим возможным результатом.
Входные данные 2
2 1 a b
Выходные данные 2
a
Входные данные 3
3 8 jastaway tatesoto soryuusi
Выходные данные 3
asoryuus