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

Нічого і не втрачалося

Нічого і не втрачалося

Розробка нової пошукової системи, яка ведеться групою компанії \textit{Giggle}, проходить під девізом "Нічого не втрачалося". Ви працюєте у відділі передових розробок, і на сьогоднішній день вашим завданням є розробка тестової версії пошукового "движка". Тестова версія реалізує лише частину функціональності повної версії. Зокрема, відсутні такі функції, як використання логічних виразів у запитах, переклад знайдених сторінок з однієї мови на іншу і т.д. Можливості тестової версії пошукової системи обмежуються обробкою трьох видів запитів: запити на додавання, на видалення та на пошук. Система працює наступним чином. У будь-який момент часу існує множина відомих системі сайтів, причому для кожного сайту відома множина ключових слів, що зустрічаються на ньому. Запит на додавання містить ключове слово і назву сайту. При його виконанні ключове слово додається у множину ключових слів, присутніх на даному сайті. Якщо цього слова у відповідній множині ще немає, то результатом запиту є \textbf{OK}, в іншому випадку - \textbf{Already exist}. Запит на видалення містить ключове слово і назву сайту. При його виконанні ключове слово виключається з множини ключових слів, присутніх на даному сайті. Якщо цього слова у відповідній множині немає, то результатом запиту є \textbf{Not found}, в іншому випадку - \textbf{OK}. Запит на пошук містить лише ключове слово. Результатом запиту є лексикографічно відсортований список сайтів, що містять дане ключове слово. При цьому в результат виводяться лише перші \textbf{10} сайтів з цього списку. Задано список запитів. Необхідно вивести результат їх послідовного виконання. \InputFile Перший рядок вхідного файлу містить цілое число \textbf{n} - кількість запитів, які необхідно опрацювати (\textbf{0} ≤ \textbf{n} ≤ \textbf{2500}). Кожен з наступних \textbf{n} рядків містить запит. Запит на додавання має наступний формат: \textbf{Add keyword "}<\textbf{keyword}>\textbf{" to }<\textbf{site}>, де <\textbf{keyword}> ключове слово, <\textbf{site}> - назва сайту, на якому з'явилось це ключове слово. Запит на видалення має наступний формат: \textbf{Remove keyword "}<\textbf{keyword}>\textbf{" from }, де <\textbf{keyword}> - ключове слово, <\textbf{site}> - назва сайту, на якому з'явилось це ключове слово. Запит на пшук має наступний формат: \textbf{Search "}<\textbf{keyword}>\textbf{"}, де <\textbf{keyword}> - ключове слово. Усі ключові слова (<\textbf{keyword}>) складаються з рядкових літер латинського алфавіту. Довжини ключових слів не перевищують \textbf{30} символів. Усі назви сайтів (<\textbf{site}>) складаються з рядкових літер латинського алфавіту, символів "коса риска" ("\textbf{/}") та крапок ("\textbf{.}"). Довжини назв сайтів не перевищують \textbf{100} символів. \OutputFile Для кожного запиту виведіть його результат. При цьому дотримуйтесь форматй, наведеного у прикладах. Не забудьте звернути увагу на другий приклад. Результати запитів відокремлюйте рядком з п'яти символів "дорівнює" ("\textbf{=}").
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
12
Add keyword "olympiads" to neerc.ifmo.ru/school/io
Add keyword "neerc" to neerc.ifmo.ru
Search "olympiads"
Search "neerc"
Add keyword "olympiads" to neerc.ifmo.ru
Search "olympiads"
Add keyword "olympiads" to neerc.ifmo.ru/school/io
Remove keyword "olympiads" from neerc.ifmo.ru/school/io
Search "olympiads"
Remove keyword "olymp" from neerc.ifmo.ru
Remove keyword "olympiads" from neerc.ifmo.ru
Search "olympiads"
Вихідні дані #1
OK
=====
OK
=====
Results: 1 site(s) found
1) neerc.ifmo.ru/school/io
=====
Results: 1 site(s) found
1) neerc.ifmo.ru
=====
OK
=====
Results: 2 site(s) found
1) neerc.ifmo.ru
2) neerc.ifmo.ru/school/io
=====
Already exists
=====
OK
=====
Results: 1 site(s) found
1) neerc.ifmo.ru
=====
Not found
=====
OK
=====
Results: 0 site(s) found