Однією з літературних розваг є файндворд — текст, у якому на стику двох слів можуть бути сховані інші слова. Наприклад, у тексті "Был месяц май. Кактус стоял на окне." сховано слово "майка".
Знайдіть усі сховані у тексті слова з заданого списку, якщо розділювачами слів тексту є пропуски, кінці рядків та заданий набір розділових знаків.
У першому рядку містяться три цілі числа через не менше ніж пропуск: — кількість рядків тексту (1 \leq k \leq 100), кожен рядок містить не більше символів; — кількість слів, які треба знайти (1 \leq n \leq 100); і — кількість розділових знаків (0 \leq m \leq 10), які можуть розділяти слова.
Наступні рядків містять текст (який складається з малих і великих латинських літер, цифр, пропусків та розділових знаків із заданого набору).
Потім рядків містять шукані слова (з того ж набору символів, крім пропусків і розділових знаків, довжина кожного рядка не перевищує символів, усі слова у списку різні).
Останній рядок складається з символів, які слід вважати розділовими знаками (розділові знаки в тексті можуть як відокремлюватися пропусками, так і не відокремлюватися).
Виведіть знайдені слова по одному у рядку у тому порядку, у якому вони сховані у тексті (слово може бути сховано лише на стику двох слів, а не всередині іншого слова). Порядок слова визначається позицією його першої літери у тексті. Якщо слово зустрічається кілька разів, його слід виводити лише один раз — за першою появою. Якщо у тому ж місці сховано два слова, їх слід вивести у тому порядку, в якому вони були у вхідному списку. Гарантовано, що принаймні одне з шуканих слів дійсно сховане.
Приклад 1