Codeforces Round 291 (Div. 2) |
---|
Закончено |
Недавно Уотто, хозяину магазина запчастей, поступил заказ на механизм, умеющий обрабатывать строки определённым образом. Изначально в память механизма загружаются n строк. Затем, механизм должен уметь отвечать на запросы следующего вида: «По данной строке s определить, есть ли в памяти механизма строка t, состоящая из того же количества символов, что и s, и отличающаяся от s ровно в одной позиции».
Уотто уже собрал механизм, осталось только написать для него программу и проверить её корректность на данных n исходных строк и m запросах. Эту работу он решил поручить Вам.
В первой строке записано два целых неотрицательных числа n и m (0 ≤ n ≤ 3·105, 0 ≤ m ≤ 3·105) — количество исходных строк и количество запросов соответственно.
Далее следуют n непустых строк, загружаемых в память механизма.
Далее следуют m непустых строк, являющихся запросами к механизму.
Суммарная длина строк во вводе не превышает 6·105. Каждая строка состоит только из букв 'a', 'b', 'c'.
На каждый запрос выведите в отдельной строке «YES» (без кавычек), если в памяти механизма есть нужная строка, иначе выведите «NO» (без кавычек).
2 3
aaaaa
acacaca
aabaa
ccacacc
caaac
YES
NO
NO
Название |
---|