#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<cstdlib>
#include<queue>
#include<vector>
#define ll long long
using namespace std;
ll n,T,over[30],ing[30];
string s[100001],f[30][100001];
int cmp(string s1,string s2)
{
int t1=s1[0]-'0',t2=s2[0]-'0';
if(t1==t2)
{
if(s1.length()==s2.length())
{
for(int i=0;i<s1.length();i++)
{
if(s1[i]==s2[i])continue;
return (s1[i]-'0')<(s2[i]-'0');
}
}
else return s1.length()<s2.length();
}
return t1<t2;
}
int main()
{
scanf("%lld%lld",&n,&T);
for(int i=0;i<n;i++)
{
cin>>s[i];
}
sort(s,s+n,cmp);
int pre=s[0][0]-'0',cnt=0;
for(int i=0;i<n;i++)
{
int t=s[i][0]-'0';
if(t!=pre)cnt=0,pre=t;
f[t][cnt++]=s[i];
over[t]++;
}
while(T--)
{
char c;
cin>>c;
int t=c-'0';
cout<<f[t][ing[t]]<<endl;
ing[t]++;
if(ing[t]==over[t])ing[t]=0;
}
return 0;
}
题目不重要,主要是为什么RE