Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

MWP5_2B - Sejf

Jaś uczył się całymi dniami. Bez chwili wytchnienia czytał o algorytmach i rozwiązywał zadnia, na ogół od rana do nocy. Rodzice bardzo martwili się o niego (Jaś miał słaby wzrok, krzywy kręgosłup i groziło mu 2 z WF-u), toteż któregoś tragicznego dnia ojciec naszego bohatera zebrał wszystkie jego książki, laptopa i schował całość do sejfu (potem kazał iść pograć w piłkę). Rozpaczy Jasia nie było końca lecz wiedział dokładnie, że jest światełko w tunelu, że wystarczy tylko otworzyć sejf...

Sejf ten zabezpieczony jest bardzo długim hasłem, którego nasz bohater nie zna - lecz czego się nie zrobi dla przyjemności programowania! Sejf taty Jasia ma, na jego szczęście, jeden poważny mankament - wydaje charakterystyczne kliknięcia przy kręceniu gałką w lewo, znacznie różniące się od tych wydobywających się podczas kręcenia w prawo i nasz bohater upatruje to jako szansę dla siebie. Już jako małe dziecko podsłuchał jak ojciec otwiera sejf: 2 pola w lewo, 6 pól w prawo, kolejne 3 pola w prawo itd.

Na ruchomej tarczy służącej do wprowadzania kodu znajduje się 26 liter alfabetu angielskiego umieszczonych zgodnie z kolejnością (pole nr 1 - A, 2 - B, ..., 26 - Z). Nasz bohater nie będzie jednak miał zbyt dużo czasu na kombinowanie przy sejfie, toteż z powodu braku komputera poprosił Ciebie o napisanie programu, który na podstawie opisu ruchów wykonanych tarczą zweryfikuje czy dany wyraz w ogóle ma szansę być poprawnym kodem. Jaś nie chce tracić czasu na wprowadzanie zbędnych wyrazów, toteż da Ci listę tych które jego zdaniem mogą pasować, a Twój program określi, którego z nich nie warto nawet wprowadzać. Należy założyć, że pokrętło może być początkowo ustawione na dowolnej pozycji.

Wejście

W pierwszej linii wejścia znajduje się liczba n (2 ≤ n ≤ 1000) określająca liczbę ruchów tarczą jakie wykonał tata Jasia. W drugiej linii znajduje się opis tych ruchów (3L - oznacza przesunięcie o 3 pola w lewo, 1P - o jedno pole w prawo itd.). Trzecią linię wejścia stanowi liczba m (1 ≤ m ≤ 8000) oznaczająca liczbę wyrazów o, które Jaś zechce Cię zapytać. Kolejne m linii stanowią wyrazy składające się wyłącznie z wielkich liter alfabetu angielskiego. Długość wyrazu nie przekracza 1001 znaków.

Wyjście

Na wyjściu, w oddzielnej linii dla każdego zestawu danych, należy wypisać słowo "TAK" jeżeli dany wyraz ma szansę aby być poprawnym szyfrem lub słowo "NIE" jeśli jest inaczej.

Przykład

Wejście:

3
3L 4P 1P
5
KHLM
BYCD
MILM
RVUZ
TQR

Wyjście:

TAK
TAK
NIE
NIE
NIE

Dodane przez:Maciej Boniecki
Data dodania:2013-03-15
Limit czasu wykonania programu:0.300s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 SCM qobi
Pochodzenie:V Mistrzostwa WWSI w Programowaniu

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.