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

Вікіпедія

Вікіпедія

Натхненний успіхом "Вікіпедії", Петя вирішив створити аналогічну енциклопедію на своїй домашній сторінці. Оскільки Петя вивчає англійську мову, він вирішив зробити англійську версію енциклопедії.

Для початку він взяв декілько текстів з "Encyclopedia Britannica" і набрав їх. Тепер він хоче розставити всередині статей посилання на інші статті. Проте статей дуже багато, тому він вирішив автоматизувати процес.

Посилання на статтю на вікі-сторінці влаштоване наступним чином:

[[Назва статті|текст посилання]]

Наприклад, у фразі In the wild cats are often enemies of [[Dog|dogs]] слово "dogs" будет посиланням на статтю "Dog". Якщо назва статті співпадає з текстом посилання, посилання можна оформити просто как

[[Назва статті]]

Наприклад, у фразі Growing together a [[dog]] and a cat can often be friends слово "dog" будет посиланням на статтю "dog". При цьому у назвах статей регістр першої буквы ігнорується, а регістр інших букв важливий. Наприклад, слово "dog" може бути посиланням на статтю "Dog", а слово "DOG" — ні.

Допоможіть Петі розставити посилання на його сайті. Сайт являє собою множину статей. Кожна стаття має назву — одне слово, і текст. Для слова назви відомі усі його словоформи та синоніми.

Будемо називати словом у тексті послідовність букв англійського алфавіту, обмежену з обох сторін символами, які не є буквами, або початком чи кінцем рядка. У тексті статті потрібно знайти усі слова, які є словоформами чи синонімами назв інших статей і перетворити їх у вікі-посилання.

Вхідні дані

Перший рядок вхідного файлу містить число n — кількість статей у Петиній вікіпедії (2 ≤ n ≤ 50). Далі йдуть описи статей.

Опис кожної статті починається з рядка, який містить назву цієї статті. Далі йде рядок, який містить одне число k — кількість словоформ та синонимів до нази статті, це число не перевищує 10. Наступні k рядків містять по одному слову у рядку — словоформи та синоніми до нази поточної статті. Далі йде рядок, який містить число l — кількість рядків у тексті статті, це число не перевищує 10. Потім йде текст статті — l рядків, кожен з яких має довжину не більше 80 символів.

Усі назви статей різні. Усі словоформи та синоніми усіх назв різні та відрізняються від назв статей.

Усі слова складаються з букв латинського алфавіту, довжина кожного слова у вхідному файлі не перевищує 20, у вхідному файлі зустрічаються лише пропуски, переведення рядків та символи з ASCII кодами від 32 до 126.

Вихідні дані

Виведіть у вихідний файл версії статей з розставленими посиланнями. Виводьте статті наступним чином. Спочатку виведіть назву статті. Потім виведіть текст статті, розбитий на рядки так само, як і у вхідному файлі. Усі слова у тексті, які співпадають з назвою статті, чи з словоформою або синонімом назви статті, відмінної від тієї, у якій вони зустрічаються, потрібно перетворити у посилання. При порівнянні слів слід ігнорувати регістр першої букви, але дотримуватись регістру інших. Слова, які співпадають з назвою, потрібно перетворити у коротку версію посилання, а які не співпадають — у повну.

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
Cat
2
Kitten
Cats
3
Cat is one of the most common pets, together with dogs.
In the wild cats are often enemies of dogs.
Growing together a dog and a cat can often be friends.
Dog
1
Dogs
2
Dog is one of the most common pets, together with cats.
DOG can also be an abbreviation.
Вихідні дані #1
Cat
Cat is one of the most common pets, together with [[Dog|dogs]].
In the wild cats are often enemies of [[Dog|dogs]].
Growing together a [[dog]] and a cat can often be friends.
Dog
Dog is one of the most common pets, together with [[Cat|cats]].
DOG can also be an abbreviation.
Автор Андрій Станкевич