Some people claim that a word A is crunchier than a word B if the first letter of A that differs from B is smaller ('smaller' means an earlier letter in the alphabet, eg. b is smaller than c, g is smaller than z).
You are given N words, each of length K. You can join all of them together in any order you like to form a long word. Output the crunchiest word you can form.
Input
On the first line are integers N and K (1 ≤ N ≤ 20,000, 1 ≤ K ≤ 10).
Each of the next N lines contains a word of length K consisting only of the letters a..z.
Output
On the first and only line, output the crunchiest word you can form.
Grading
For 30% of test cases,
N ≤ 1,000.
Sample Input 1
3 3
ghi
abc
qwe
Sample Output 1
abcghiqwe
Explanation for Sample Output 1
There are 6 possible words you can form: ghiabcqwe, ghiqweabc, abcghiqwe, abcqweghi, qweabcghi, qweghiabc. The 4 words that start with g or q are less crunchy than the 2 that start with a. Between "abcghiqwe" and "abcqweghi", the first letter that differs is the fourth one, and g is smaller than q, hence "abcghiqwe" is crunchier.