G. Гмугл
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В рамках программы импортозамещения Вам поручена разработка нового поисковика под кодовым названием Гмугл (gmoogle). Для первого прототипа Вам требуется показать возможность поиска по базе данных предложений:

  • Тексты базы данных соединены в строку S, состоящую из символов 'a'-'z', 'A'-'Z', пробелов, знаков препинания «.!?» (без учета кавычек) а также цифр.
  • Символы «.!?» разрывают S на одно или более предложений с одним исключением: eсли первый символ после точки '.', не являющийся пробелом — буква в нижнем регистре ('a'-'z'), то такая точка предложение не разрывает (пример: «I like tea in a 500 ml. cup» — это одно предложение, а «Cup is 500 ml. I want it» и «Cup is 500 ml. 500 ml is great for me» содержат по два предложения).
  • Словом называется непрерывная последовательность символов 'a'-'z', 'A'-'Z', ограниченная справа и слева пробелами, знаками препинания или началом/концом строки/предложения. Цифры вплотную к слову находиться не могут, то есть конструкции «10ml» или «R2D2» являются некорректными и в строке S не встретятся.
  • В S могут встречаться предложения, не содержащие слов. Гарантируется, что символы «.!?» никогда не находятся рядом друг с другом.

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

Поисковик должен найти и выдать предложения из базы данных S, где присутствуют все слова из запроса q в любом порядке. Равенством слов считается совпадением всех их букв без учета регистра.

Входные данные

В первой строке входа содержится строка S длиной от 1 до 1000 символов. В следующей строке задано целое число n (1 ≤ n ≤ 100), — количество поисковых запросов. Далее следуют n строк q1, q2, ..., qn, каждая длиной от 1 до 100 символов, в формате, описанном выше. Между, перед и после слов может быть любое количество пробелов — как и в строке S.

Выходные данные

Для каждого поискового запроса q1, q2, ..., qn поисковик выводит сам запрос на отдельной строке. Далее, каждое в своей строке, выводится список найденных предложений из S, в том порядке, в котором они присутствуют в S. Поисковые запросы и предложения печатаются в кавычках.

В начале и конце предложений пробелы не печатаются. См. пример для более точного понимания.

Пример
Входные данные
Hello everyone. I want 2 coffee if you have it. I like coffee very much.
4
HELLO
Coffee
much coffee
VoDka
Выходные данные
Search results for "HELLO":
- "Hello everyone."
Search results for "Coffee":
- "I want 2 coffee if you have it."
- "I like coffee very much."
Search results for "much coffee":
- "I like coffee very much."
Search results for "VoDka":