Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Чтобы проверить, как Пол изучил язык фрименов, ментат Сафир дал ему следующее задание: найти в языке
фрименов самую длинную цепочку слов, которая образуется добавлением одной буквы к началу или концу предыдущего слова в цепочке, например,
i-in-ink-link-blink.
Найдите самую длинную подобную цепочку в заданном словаре.
Первая строка ввода содержит одно целое число `N` (`2<=N<=100000`) -- количество слов.
Следующие `N` строк содержат по одному слову в строке, в
порядке возрастания длины слова, при равной длине -- в лексикографическом порядке.
Слова состоят из строчных латинских букв, длина слов не превышает 50 символов.
В первой строке вывести одно число `K` -- максимальную длину цепочки, далее вывести саму цепочку, по одному слову в строке. Если существует
несколько цепочек максимальной длины, то можно вывести любую из них.
```sample Пример ввода 1
12
a
i
in
ya
ach
ink
blin
link
blink
kitab
malak
darrad
```
```sample Пример вывода 1
5
i
in
ink
link
blink
```
```sample Пример ввода 2
3
mu
zein
wallah
```
```sample Пример вывода 2
1
zein
```