#include <bits/stdc++.h>
using namespace std;
map<string,set<string> > m;
int n;
int main()
{
cin>>n;
for(int i=0;i<=n;i++)
{
string x,p;
getline(cin,x);
x+=' ';
int ls=0;
for(int j=0;j<x.size();j++)
{
if(x[j]==' ')
{
if(ls==0)
{
p=x.substr(ls,j-ls);
ls=j+1;
}
else
{
string u;
u=x.substr(ls,j-ls);
for(int k=0;k<u.size();k++)
{
if(u[k]>='A'&&u[k]<='Z') u[k]+=32;
}
m[p].insert(u);
ls=j+1;
}
}
}
}
string s;
getline(cin,s);
while(getline(cin,s))
{
if(s=="") break;
s+=' ';
string x,p;
int ls=0;
for(int i=0;i<s.size();i++)
{
if(s[i]>='A'&&s[i]<='Z') s[i]+=32;
}
bool f=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='.'||s[i]==','||s[i]=='?'||s[i]=='!'||s[i]==';'||s[i]=='('||s[i]==')'||s[i]==' ')
{
p=s.substr(ls,i-ls);
if(i<s.size()-1) ls=i+1;
map<string,set<string> >::iterator it;
for(it=m.begin();it!=m.end();it++)
{
if((it->second).count(p))
{
f=1;
cout<<it->first<<endl;
break;
}
}
}
if(f) break;
}
}
return 0;
}