ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1603. Эрудит

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Problem illustration
Мальчик Петя любит отгадывать кроссворды и решать задачки. Однажды он нашел в газете новую головоломку под названием «Эрудит», в которой задана квадратная таблица размером 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)