Вам дан набор строк. Нужно найти максимально длинную строку, которую можно построить, постепенно добавляя символы слева, начиная с пустой строки. При этом на каждом шаге (каждая промежуточная строка) она должна принадлежать исходному набору. Если существует несколько таких строк одинаковой максимальной длины, следует вывести ту, которая идёт первой в лексикографическом порядке.
Входные данные
Первая строка содержит целое число n (1 ≤ n ≤ 100 000), обозначающее количество строк в исходном наборе.
Следующие n строк содержат сами строки. Каждая строка состоит из строчных английских букв и имеет длину от 1 до 30.
Выходные данные
Выведите максимально длинную строку, которую удастся построить, используя только заданный набор строк. Если подходящей строки не существует, выведите пустую строку.