#include
<stdio.h>
#include
<string.h>
/**
Name: Rares SMEU
Grade: 10
School: NATIONAL COLLEGE OF COMPUTER
SCIENCE "GR.MOISIL"
Division: INT 5
*/
using namespace
std;
char c[100][100];
char a[100];
char d[100];
char e[100];
int afis=0;
char inceput;
char sfarsit;
void citire()
{
for(int i=0;i<3;i++)
{
scanf("%s",c[i]);
c[i][strlen(c[i])-1]=0;
}
scanf("%s\n",c[3]);
}
void cuvant(int
y)
{
for(int i=0;i<strlen(d);i++)
{
if(a[i]!=d[i] && a[i]!='?')
{
return;
}
}
printf("%s ",c[y]);
afis=1;
}
int main()
{
freopen("search.in","r",stdin);
citire();
for(int w=0;w<5;w++)
{
afis=0;
gets(e);
int x=-1;
if(strchr(e,'['))
{
x=strchr(e,'[')-e;
inceput=e[x+1];
sfarsit=e[x+3];
strcpy(e+x,e+x+4);
if(e[0]=='*')
x--;
}
for(int i=0;i<4;i++)
{
strcpy(d,c[i]);
strcpy(a,e);
if(a[0]=='*')
{
int r=strlen(d)-strlen(a)+1 ;
if(r < 0)
continue;
strcpy(a,a+1);
strcpy(d,d+strlen(d)-strlen(a));
}
if(a[strlen(a)-1]=='*')
{
a[strlen(a)-1]=0;
memset(d+strlen(a),0,15);
}
if(strchr(a,']'))
{
for(char
j=inceput;j<=sfarsit;j++)
{
a[x]=j;
cuvant(i);
}
}
else
cuvant(i);
}
if(afis==0)
printf("No Match");
printf("\n");
}
return 0;
}