Language:

English
Russian

Практикум по программированию

Для участников:
Регистрация  ||   Вход
Список соревнований
Вы не вошли в систему! Вход или регистрация.

Игра в города

Time limit:1 sec.
Memory limit: 65536 KByte

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

Исходные данные

В первой строке входного файла записано целое число N - количество слов в списке (1 ≤ N ≤ 1000), а в последующих N строках - сами слова. Каждое из них является последовательностью не более чем из 10 строчных английских букв.

Результат

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

Пример

Исходные данныеРезультат
4
b
ab
bc
bb
ab
bb
b
bc
© Copyright ВоГУ, АВТ, Носов Д.А., Смоленцев К.Н.