match

Nafets lucreaza la calculator. Fiind un tip dezorganizat, uita des cum se numesc fisierele pe care le foloseste si unde le salveaza. De aceea, pentru el, optiunea de cautare de fisiere oferita de sistemul de operare este extrem de utila. Deoarece totusi aceasta optiune isi are limitarile ei, Nafets s-a decis sa scrie singur un program care sa-l ajute.

Deoarece nu prea are chef sa implementeze algoritmi, el va cere ajutorul. Voi trebuie sa scrieti un program care verifica daca un nume de fisier corespunde unei masti pregatite de el. Numele unui fisier este un sir de caractere ce poate sa contina doar litere mici ale alfabetului englez. O masca este un sir de caractere ce este alcatuit din litere mici ale alfabetului englez, precum si din caracterele speciale * si ?. Se spune ca masca M se potriveste peste numele N daca si numai daca inlocuind in sirul M fiecare caracter ? cu exact o litera (cate o litera pentru fiecare ? din masca) si fiecare caracter * cu o secventa de litere (de lungime >= 0; cate o astfel de secventa pentru fiecare * din masca), se poate obtine sirul N.

Cerinta
Scrieti un program care sa verifice daca masca M se potriveste peste numele N.

Date de intrare

Fisierul de intrare match.in contine doua linii. Pe prima linie se gaseste sirul de caractere reprezentand numele de fisier N si pe a doua linie masca M

Date de iesire

Fisierul de iesire match.out va contine pe prima linie numarul 0 daca masca M nu se potriveste peste numele N si 1 in caz contrar. Daca afisati 1, pentru fiecare caracter special din M trebuie sa afisati sirul cu care trebuie inlocuit pentru a obtine N, cate un sir pe linie, in ordinea in care apar caracterele speciale in fisierul de intrare (sirul de pe linia a doua corespunde primului caracter ? sau *, de pe linia a treia celui de-al doilea caracter * sau ?, etc). Daca un * se inlocuieste cu sirul de lungime 0, lasati linia corespunzatoare libera.
In cazul in care exista mai multe solutii, afisati oricare dintre ele (dar numai una).

Restrictii Exemple
match.in match.out match.in match.out match.in match.out match.in match.out
abac
a*c
1
ba
source01dat
source??dat
1
0
1
unudoi
unuloi
0 altacianeva
a*a?i*a
1
lt
c
anev

Timp maxim de executie/test: 0.5 secunde.