eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Файндворд

Файндворд

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Однією з літературних розваг є файндворд – текст, у якому на стиці двох слів можуть бути схвані інші слова. Наприклад, у тексті "Был месяц май. Кактус стоял на окне." сховано слово "майка".

Знайдіть усі схвані у тексті слова з заданого списку, якщо відокремлювачами слів тексту є пропуски, закінчення рядків та заданий набір розділових знаків.

Вхідні дані

У першому рядку знаходяться три цілих числа через не менше ніж 1 пропуск: k – число рядків тексту, (1k100), кожен рядок не більше 127 символов, n – число слів, які потрібно знайти, (1n100), і m – число розділових знаків (0m10), які можут розділяти слова. Наступні k рядків містять текст (який складаєся з рядкових та прописних букв латинського алфавіту, цифр, пропусків та розділових знаків із заданого набору). Потім у n рядках задано шукані слова (з того ж набору символів, крім пропусків і розділових знаків, довжина кожного рядка не більш 20 символів, усі слова у списку різні). Останній рядок складається з m символів, які слід вважатиь розділовими знаками (розідлові знаки у тексті можуть як відокремлюватись пропусками, так і не відокремлюватись).

Вихідні дані

Вивести знайдені слова, по одному в рядку, у тому ж порядку, в якому вони сховані у тексті (слово може бути сховано лише на стиці двх слів, а не всеедині іншого слова). Порядок слова визнчається по його першій букві. Якщо сховане слово зустрічається не один раз, то його слід виводити лише один раз, вважаючи його порядком те місце у тексті, де воно сховано вперше. Якщо у одному і тому ж місці схвано 2 слова, то виводити їх потірбно у тому порядку, у якому вони були у вхідному списку. Відомо, що хоча б одне з шуканих слів дійсно сховано.

Приклад

Вхідні дані #1
3 4 2
abshykcd, bbb,/Abb
anbshy kjdj jjdjjd 
wiueqiqqwfnc kllkkl
shyk
bbAbb
uiuiui
kjdj
,/
Вихідні дані #1
bbAbb
shyk
Джерело Новосибирск 2013