#include<bits/stdc++.h>
using namespace std;
int a,b,c[10000],d[10000],e[10000],f[10000],i,j;
bool panduan()
{
int a=c[j];
int b=e[i];
if(d[i]==1&&a%10==b&&(f[i]>c[j]||f[i]==0))
{
return true;
}
else
if(d[i]==2&&a%100==b&&(f[i]>c[j]||f[i]==0))
{
return true;
}
else
if(d[i]==3&&a%1000==b&&(f[i]>c[j]||f[i]==0))
{
return true;
}
else
if(d[i]==4&&a%10000==b&&(f[i]>c[j]||f[i]==0))
{
return true;
}
else
if(d[i]==5&&a%100000==b&&(f[i]>c[j]||f[i]==0))
{
return true;
}
return false;
}
int main()
{
cin>>a>>b;
for(i=1;i<=a;i++)
{
cin>>c[i];
}
for(i=1;i<=b;i++)
{
cin>>d[i];cin>>e[i];
}
for(i=1;i<=b;i++)
{
for(j=1;j<=a;j++)
{
if(panduan())
{
f[i]=c[j];
}
}
}
for(i=1;i<=b;i++)
{
if(f[i]==0)
cout<<-1<<endl;
else
cout<<f[i]<<endl;
}
return 0;
}