Se consideră alfabetul englez compus din literele mici, de la a la z.
Se numeşte cuvânt un şir finit, eventual vid, de litere din acest alfabet.
Se numeşte expresie şablon un şir de caractere din alfabet în care pot apărea și caracterele ? şi *.
Un cuvânt se potrivește cu o expresie șablon dacă se poate obține din aceasta astfel:
- caracterul
?se înlocuiește cu o singură literă din alfabet; - caracterul
*se înlocuiește cu un cuvânt oarecare, eventual vid; - din expresia șablon se poate elimina sau nu, înainte de a efectua înlocuirea caracterelor
?și*, un singur caracter de tip literă.
Cerința
Considerându-se o expresie șablon și un șir de cuvinte, să se determine, pentru fiecare cuvânt în parte, dacă se potrivește sau nu cu expresia şablon dată.
Date de intrare
Fișierul de intrare sablon1.in conține:
Pe prima linie se găsește o expresie şablon E.
Pe a doua linie se găsește un număr natural N, ce reprezintă numărul de cuvinte din șir.
Pe fiecare din următoarele N linii se găsește câte un cuvânt S[i] ( 1 ≤ i ≤ N).
Date de ieșire
Fișierul de ieșire sablon1.out va conține pe fiecare din primele N linii valoarea 1 sau 0, după cum cuvântul S[i] (1 ≤ i ≤ N) se potrivește cu expresia şablon E.
Restricții și precizări
1 ≤ N ≤ 10- Pentru 16% din teste expresia șablon
Enu conține caracterul*iar lungimea luiEși a oricărui cuvântSeste între1și1000de caractere. - Pentru alte 16% din teste lungimile lui
EșiSsunt cuprinse între1și20de caractere. - Pentru alte 32% din teste lungimile lui
EșiSsunt cuprinse între1și100de caractere. - Pentru restul de 36% din teste lungimile lui
EșiSsunt cuprinse între1și1500de caractere.
Exemplu:
sablon1.in
a*a?b 7 ababb aab aabb bac abcaab abcaab ababa
sablon1.out
1 1 1 0 1 1 0
Explicație
Cuvintele ababb, aabb și abcaab se potrivesc cu expresia şablon.
Cuvântul aab se potrivește cu expresia șablon obținută prin eliminarea în prealabil a unuia din caracterele ‘a’.
Cuvintele bac și ababa nu se pot obține în nicio situație din expresia șablon.