EduBrick

K. Словарь

3000 мс · 256 МБ · всё или ничего

Дан текст и набор слов. Для каждого слова определите, встречается ли оно в тексте как подстрока.

Искать каждое слово по отдельности нельзя: слов до 10510^5, текст до 10610^6, и поиск каждого по всему тексту даёт до 101110^{11} операций.

Формат ввода

В первой строке - текст (не более 10610^6 строчных латинских букв).

Во второй - число MM (1≤M≤1051 \le M \le 10^5).

В следующих MM строках - слова длиной не более 30 строчных латинских букв. Слова различны и отсортированы лексикографически, их суммарная длина не превосходит 10510^5.

Формат вывода

Для каждого слова выведите Yes, если оно есть в тексте, и No иначе.

Примеры

ввод
trololo
3
abacabadabacaba
olo
trol
вывод
No
Yes
Yes
ввод
abacabadabacabaabacabadabacaba
1
abacabadabacabaabacabadabacaba
вывод
Yes
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.