eolymp
bolt
Try our new interface for solving problems
Problems

Поиск в словаре

Поиск в словаре

Задан набор \textbf{s_1}, \textbf{s_2}, ..., \textbf{s_n}, состоящий из \textbf{n} строк словаря. Дополнительно задан набор \textbf{q_1}, \textbf{q_2}, ..., \textbf{q_m}, состоящий из \textbf{m} строк запросов. Для каждой строки \textbf{q_i} найдите, сколько строк из словаря имеют префикс \textbf{q_i}. Более формально, для каждого индекса \textbf{i}, найдите количество таких индексов \textbf{t}, что \textbf{q_i} является префиксом \textbf{s_t}. \InputFile Первая строка содержит два целых числа \textbf{n} и \textbf{m} (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{10^5}). Каждая из \textbf{n} следующих строк содержит непустую строку \textbf{s_i}. Каждая из \textbf{m} следующих строк содержит непустую строку \textbf{q_i}. Обратите внимание, что строки в наборе могут повторяться. \OutputFile Выведите \textbf{m} целых чисел: \textbf{i}-тое число должно обозначать ответ для строки \textbf{q_i}.
Time limit 2 seconds
Memory limit 256 MiB
Input example #1
3 3
aba
a
ba
a
b
bb
Output example #1
2
1
0
Author Геральд Агапов
Source Летняя школа Севастополь 2013, Волна 1, День 6