B. Сборка генома в Берляндии
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Перед берляндскими учёными встала важнейшая задача — восстановить по имеющимся частям коротких фрагментов ДНК геном динозавра! У берляндского динозавра геном совсем не похож на привычный нам: в нём могут встречаться 26 различных типов нуклеотидов, причём нуклеотид каждого типа может встречаться не более одного раза. Если присвоить всем нуклеотидам различные буквы английского алфавита, то геном берляндского динозавра будет представлять собой непустую строку, состоящую из строчных букв английского алфавита, такую что каждая буква встречается в ней не более одного раза.

У учёных есть n фрагментов генома, которые представляют собой подстроки (непустые последовательности подряд идущих нуклеотидов) искомого генома.

Перед вами стоит задача: помочь учёным восстановить геном динозавра. Гарантируется, что входные данные непротиворечивы и хотя бы одна подходящая строка всегда существует. Узнав, что вы сильный программист, учёные дополнительно попросили вас из подходящих строк выбрать ту, длина которой минимальна. Если и таких строк несколько, то их устроит любая.

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

В первой строке входных данных следует целое положительное число n (1 ≤ n ≤ 100) — количество фрагментов генома.

В каждой из следующих строк следует по одному описанию фрагмента. Каждый фрагмент — это непустая строка, состоящая из различных строчных букв английского алфавита. Не гарантируется, что заданные фрагменты различны. Фрагменты могли перекрываться произвольным образом, и один фрагмент мог быть подстрокой другого.

Гарантируется, что найдется такая строка из различных букв, которая содержит все заданные фрагменты в качестве подстрок.

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

В единственной строке выходных данных выведите геном минимальной длины, который содержит все заданные части. Все нуклеотиды в геноме должны быть различными. Если подходящих строк несколько, выведите строку минимальной длины. Если подходящих строк минимальной длины также несколько, то разрешается вывести любую из них.

Примеры
Входные данные
3
bcd
ab
cdef
Выходные данные
abcdef
Входные данные
4
x
y
z
w
Выходные данные
xyzw