#include <stdio.h>
#include <string.h>
typedef struct String{
char str[101];
}String;
void UptoSmall(char s[],char s1[]);
int main()
{
int i,option,n;
char dstr[101] = {'\0'};
scanf("%s",dstr);
scanf("%d %d",&option,&n);
String s[n];
for( i = 0; i < n; i ++)
{
scanf("%s",&s[i].str);
}
if(option == 1)
{
for( i = 0; i < n; i ++)
{
if(strstr(s[i].str,dstr))
{
printf("%s\n",s[i].str);
}
}
}
else{
char s1[101],s2[101];
UptoSmall(dstr,s1);
for( i = 0; i < n; i ++)
{
UptoSmall(s[i].str,s2);
if(strstr(s2,s1))
{
printf("%s\n",s[i].str);
}
}
}
return 0;
}
void UptoSmall(char s[],char s1[])
{
int i;
for( i = 0; s[i] != '\0'; i ++)
{
if(s[i] < 'a')
{
s1[i] = s[i] + 'a' - 'A';
}
else{
s1[i] = s[i];
}
}
s1[i] = '\0';
}