Олимпиадный тренинг

Задача . C. Наименьшая конкатенация строк


Вам задан набор из n строк a1, a2, ..., an. Вам нужно записать их друг за другом (конкатенировать) в некотором порядке так, чтобы получившаяся строка была лексикографически минимальной.

Выведите лексикографически минимальную конкатенацию заданного набора строк.

Входные данные

В первой строке находится целое число n — количество строк в наборе (1 ≤ n ≤ 5·104).

В следующих n строках находится по одной строке ai (1 ≤ |ai| ≤ 50), состоящей из строчных английских букв. Суммарная длина всех строк не превосходит 5·104.

Выходные данные

Выведите единственную строку a — лексикографически минимальную конкатенацию заданного набора строк.


Примеры
Входные данныеВыходные данные
1 4
abba
abacaba
bcd
er
abacabaabbabcder
2 5
x
xx
xxa
xxaa
xxaaa
xxaaaxxaaxxaxxx
3 3
c
cb
cba
cbacbc

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя