АВТ
Language:

Remote Training on Programming

Problems On-line status Contests FAQ
For authors:
Register  ||  Login
 
Hello, Guest! Login or register.

205. Игра в города

Time Limit: 1 seconds
Memory Limit:64000KB
Points:10
View Problem Statistics Submit Problem added Undefined

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

Input

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

Output

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

Sample

InputOutput
4
b
ab
bc
bb
ab
bb
b
bc

Solution

Составим ориентированный мультиграф (мультиграфом называется граф, в котором пары вершин могут быть соединены более чем одним ребром), вершинами которого будут являться буквы от a до z. Каждому слову из списка сопоставим ребро, соединяющее первую и последнюю буквы этого слова. В полученном мультиграфе требуется найти эйлеров путь (т.е. путь, проходящий по каждому ребру ровно один раз). Алгоритм построения такого пути можно найти, например, в [Липский 88,п. 2.7].


View Problem Statistics Submit Author/source:
Sorted Problems / Graphs /
267. from Muha to Slon 205. 208. Михаил Густокашин против бюрократии 206. Ориентация графа 207. Открытки и конверты
Educational Courses / Data Structures and Algorithms / Graph Algorithms /
267. from Muha to Slon 205. 207. Открытки и конверты 247. Удаление клеток
Problems from Contests / Trainings of Vologda STU / Training 04.10.2006 /
204. A - Пиво в розлив 205. 206. C - Ориентация графа 207. D - Открытки и конверты 208. E - Михаил Густокашин против бюрократии
We can all benefit by doing occasional "toy" programs, when artificial restrictions are set up, so that we are forced to push our abilities to the limit. The art of tackling miniproblems with all our energy will sharpen our talents for the real problems. Donald E. Knuth.
time generating 0.109 sec.
© Copyright VSTU, AVT, Nosov D.A.