#include<stdio.h>
#include<string.h>
char ex[15];
char test[15];
int tree[1600],ntree[1600];
void addtree()
{
int t=strlen(ex);
for(int i=0;i<t;i++)
{
int j=1;
while(tree[j]!=-1)
{
if(ex[i]-'0'>tree[j])
{
j=j*2+1;
}
else
{
j=j*2;
}
}
tree[j]=ex[i]-'0';
}
}
void ttree()
{
int t=strlen(test);
for(int i=0;i<t;i++)
{
int j=1;
while(ntree[j]!=-1)
{
if(test[i]-'0'>ntree[j])
{
j=j*2+1;
}
else
{
j=j*2;
}
}
ntree[j]=test[i]-'0';
}
int i;
for(i=1;i<1600;i++)
{
if(tree[i]!=ntree[i])
{
break;
}
}
if(i==1600)
{
puts("YES");
}
else
{
puts("NO");
}
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
memset(tree,-1,sizeof(tree));
if(n==0)
{
break;
}
scanf("%s",ex);
addtree();
for(int i=0;i<n;i++)
{
memset(ntree,-1,sizeof(ntree));
scanf("%s",test);
ttree();
}
}
}