Задачі
Нічого і не втрачалося
Нічого і не втрачалося
Розробка нової пошукової системи, яка ведеться групою компанії \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
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