Contest.samsu.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Задача J. Чай с кроссвордом

Задачу добавил: alef

Успешно сдано решений: 4

max время на тест 2 с

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

Формат входного файла input.txt
Первая строка - целое число 3 <= N <= 100 - количество слов.
В каждой из следующих N строк содержится по одному слову. Каждое слово не длиннее 101 символа и не короче одного символа. Слова состоят из строчных и прописных латинских букв. Строчные и прописные буквы считать различными.

Формат выходного файла output.txt
Первая строка - горизонтальное слово, которое можно составить, расположив остальные по вертикали. 
Каждая из следующих N-1 строк содержит по одному слову. Во второй строке располагается слово, дающее в горизонтальном его первую букву, в третьей строке - слово, дающее в горизонтальном его вторую букву и т.д.
Если ответа не существует, выведите "No solution" (без кавычек)

Пример входного файла - 1
6
parus
proza
proezd
slovo
slon
ulov

Пример выходного файла - 1
slovo
parus
slon
proezd
ulov
proza

Пример входного файла - 2
3
a
ab
b

Пример выходного файла - 2
ab
a
b

Пример входного файла - 3
7
abcdef
abc
acd
ade
aff
afg
afx

Пример выходного файла - 3
No solution


Пример кроссворда
p
a u
r plp
usror
slovo
 oe z
 nz a
  d


Сдать задачу

Задать вопрос жюри по этой задаче