아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Палиндромная шифровка

시간 제한1초메모리 제한1024 MB

요약
n개의 짧은 문자열 s_j가 주어질 때, 각 질의 문자열 t_i에 대해 t_i 뒤에 어떤 s_j를 붙여 팰린드롬을 만들 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
문자열, 해시맵, 문자열 매칭, 트라이
정답자
아직 제출이 없습니다

문제

Кейтлин Кирамман удалось поймать одного из приспешников Силко и найти у него зашифрованное сообщение из nn строк s_1,s_2,…,s_ns\_1, s\_2, \ldots, s\_n, составленных из маленьких латинских букв. Длина каждой строки ∣s_i∣|s\_i| не превосходит 10001000.

К сожалению, сообщение оказалось неполным, и, не имея всего текста, расшифровать послание нельзя. Известно, что каждая полученная строка s_is\_i является правой долей ii-й части сообщения, то есть у каждой строки не хватает некоторого префикса (возможно, пустого). Также известно, что изначально каждая часть сообщения была палиндромом. То есть, в конечном итоге, каждая s_is\_i --- это суффикс некоторого палиндрома.

В поисках недостающих частей Кейтлин обратилась в архив, где ей выдали mm строк t_1,t_2,…,t_mt\_1, t\_2, \ldots, t\_m, которые потенциально могут дополнять строки s_is\_i до палиндромов. Каждая строка t_it\_i также состоит из маленьких латинских букв.

Кейтлин хочет проверить, могут ли полученные в архиве материалы быть кусками исходной шифровки. Для этого ей для каждой строки t_it\_i нужно понять, существует ли такое jj, что t_i+s_jt\_i + s\_j --- палиндром (здесь за знак сложения обозначена операция конкатенации).

입력

В первой строке ввода через пробел даны два целых числа nn и mm (1⩽n⩽10001 \leqslant n \leqslant 1000; 1⩽m⩽1061 \leqslant m \leqslant 10^6).

Во второй строке перечислены nn строк s_1,s_2,…,s_ns\_1, s\_2, \ldots, s\_n, разделенные пробелами.

Третья строка в том же формате содержит mm строк t_1,t_2,…,t_mt\_1, t\_2, \ldots, t\_m, разделенные пробелами. Гарантируется, что ∑_i=1m∣t_i∣⩽106\sum\limits\_{i=1}^m |t\_i| \leqslant 10^6.

출력

Для каждой строки t_it\_i выведите на отдельной ii-й строке слово <<YES>> (без кавычек), если существует такое jj, что t_i+s_jt\_i + s\_j --- палиндром, и <<NO>> иначе.

예제1

  1. 예제 1

    입력
    3 4
    aba mogus oba
    ba abac ab aaa
    
    예상 출력
    NO
    YES
    YES
    NO