Мальчик Петя любит отгадывать кроссворды и решать задачки. Однажды он
нашел в газете новую головоломку под названием «Эрудит», в
которой задана квадратная таблица размером 4 × 4, заполненная буквами.
В ней требуется найти как можно больше слов, которые могут быть записаны
по горизонтали или по вертикали в любом направлении. Слова могут ломаться в
любом месте под прямым углом, но не могут самопересекаться.
Петин друг Вася увидел, что тот разгадывает эту головоломку, и сообщил ему,
что это занятие глупое. Вася — сын программиста, и, конечно же,
догадался, что можно решить головоломку, просто перебрав все слова из
словаря. «Раз такой умный — вот и пиши программу, а я уж как-нибудь сам
справлюсь», — обиделся Петя. Помогите Васе достойно выйти из положения и
напишите ему такую программу.
Исходные данные
В первых четырех строках записана головоломка — таблица размером
4 × 4, состоящая из строчных латинских букв.
В следующей строке записано число n — количество слов в словаре
(не более 100). В следующих n строках записано по одному слову.
Все слова состоят из строчных латинских букв и имеют длину от 1 до 16.
Результат
Для каждого слова из словаря выведите «YES», если слово присутствует в
таблице, и «NO» в противном случае. Используйте формат из примера.
Пример
исходные данные | результат |
---|
abra
adac
babr
arca
3
abracadabra
ababaab
ababaaba | abracadabra: YES
ababaab: YES
ababaaba: NO
|
Автор задачи: Владимир Яковлев
Источник задачи: Девятое открытое личное первенство УрГУ (1 марта 2008)