#include <bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
#define s second
#define f first
struct trie
{
unordered_map<char,trie*>alpha;
vector<int>str_num;
};
int main() {
trie* head=new trie();
int n;
cin>>n;
string str[n];
for(int i=0;i<n;i++)
cin>>str[i];
trie *ptr=NULL;
for(int i=0;i<n;i++)
{
ptr=head;
for(int j=0;j<str[i].length();j++)
{
if(ptr->alpha.find(str[i][j])==ptr->alpha.end())
{
trie* node=new trie();
if((node->str_num).size()==0)
(node->str_num).pb(i);
ptr->alpha[str[i][j]]=node;
ptr=node;
}
else{
ptr=ptr->alpha[str[i][j]];
if(str[(ptr->str_num)[(ptr->str_num).size()-1]]>str[i])
{
(ptr->str_num).pb(i);
}
}
}
}
int q;
cin>>q;
while(q--)
{
ptr=head;
int r;
string str1;
cin>>r;
cin>>str1;
r--;
int mmp=-1;
for(int i=0;i<str1.length();i++)
{
if(ptr->alpha.find(str1[i])!=(ptr->alpha.end()))
{
ptr=ptr->alpha[str1[i]];
vector<int>temp;
temp=(ptr->str_num);
for(int j=(temp).size()-1;j>=0;j--)
{
if(temp[j]<=r)
{mmp=temp[j];
break;}
}
}
else break;
}
if(mmp!=-1)
cout<<str[mmp];
else cout<<str[0];
cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcyBzZWNvbmQKI2RlZmluZSBmIGZpcnN0CnN0cnVjdCB0cmllCnsKICB1bm9yZGVyZWRfbWFwPGNoYXIsdHJpZSo+YWxwaGE7CiAgdmVjdG9yPGludD5zdHJfbnVtOwp9OwppbnQgbWFpbigpIHsKCXRyaWUqIGhlYWQ9bmV3IHRyaWUoKTsgCglpbnQgbjsKCWNpbj4+bjsKCXN0cmluZyBzdHJbbl07Cglmb3IoaW50IGk9MDtpPG47aSsrKQoJY2luPj5zdHJbaV07Cgl0cmllICpwdHI9TlVMTDsKCWZvcihpbnQgaT0wO2k8bjtpKyspCgl7CgkJcHRyPWhlYWQ7CgkJZm9yKGludCBqPTA7ajxzdHJbaV0ubGVuZ3RoKCk7aisrKQoJCXsKCQkJaWYocHRyLT5hbHBoYS5maW5kKHN0cltpXVtqXSk9PXB0ci0+YWxwaGEuZW5kKCkpCgkJCXsKCQkJCXRyaWUqIG5vZGU9bmV3IHRyaWUoKTsKCQkJCWlmKChub2RlLT5zdHJfbnVtKS5zaXplKCk9PTApCgkJCQkobm9kZS0+c3RyX251bSkucGIoaSk7CgkJCQlwdHItPmFscGhhW3N0cltpXVtqXV09bm9kZTsKCQkJCXB0cj1ub2RlOwoJCQl9CgkJCWVsc2V7CgkJCQlwdHI9cHRyLT5hbHBoYVtzdHJbaV1bal1dOwoJCQkJaWYoc3RyWyhwdHItPnN0cl9udW0pWyhwdHItPnN0cl9udW0pLnNpemUoKS0xXV0+c3RyW2ldKQoJCQkJCXsKCQkJCQkJKHB0ci0+c3RyX251bSkucGIoaSk7CgkJCQkJfQoJCQl9CgkJfQoJfQoJaW50IHE7CgljaW4+PnE7Cgl3aGlsZShxLS0pCgl7CgkJcHRyPWhlYWQ7CgkJaW50IHI7CgkJc3RyaW5nIHN0cjE7CgkJY2luPj5yOwoJCWNpbj4+c3RyMTsKCQlyLS07CgkJaW50IG1tcD0tMTsKCQlmb3IoaW50IGk9MDtpPHN0cjEubGVuZ3RoKCk7aSsrKQoJCXsKCQkJaWYocHRyLT5hbHBoYS5maW5kKHN0cjFbaV0pIT0ocHRyLT5hbHBoYS5lbmQoKSkpCgkJCXsKCQkJCXB0cj1wdHItPmFscGhhW3N0cjFbaV1dOwoJCQkJdmVjdG9yPGludD50ZW1wOwoJCQkJdGVtcD0ocHRyLT5zdHJfbnVtKTsKCQkJCWZvcihpbnQgaj0odGVtcCkuc2l6ZSgpLTE7aj49MDtqLS0pCgkJCQl7CgkJCQkJaWYodGVtcFtqXTw9cikKCQkJCQl7bW1wPXRlbXBbal07CgkJCQkJYnJlYWs7fQoJCQkJfQoJCQl9CgkJCWVsc2UgYnJlYWs7CgkJfQoJCWlmKG1tcCE9LTEpCgkJY291dDw8c3RyW21tcF07CgkJZWxzZSBjb3V0PDxzdHJbMF07CgkJY291dDw8ZW5kbDsKCX0KCXJldHVybiAwOwp9IA==