#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <queue>
#include <string>
#include <bitset>
#include <utility>
#include <functional>
#include <iomanip>
#include <sstream>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define ll long long
#define ull unsigned long long
using namespace std;
const int MAXN=100;
const int MOD=1e9+7;
ll p[10000];
int main()
{
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>p[i];
}
sort(p,p+n);
for(int i=0;i<m;i++)
{
ll u,v;
cin>>u>>v;
int flagk=0,t=0;
for(int j=0;j<n;j++)
{
string q=to_string(p[j]);
string w=to_string(v);
int flag=0;
if(q.length()<w.length()) flag=1;
for(int k=q.length()-1,f2=w.length()-1;k>=q.length()-u;k--,f2--)
{
if(flag==1) break;
if(w[f2]!=q[k])
{
flag=1;
break;
}
}
if(!flag)
{
flagk=1;
t=j;
break;
}
}
if(flagk)
{
cout<<p[t]<<endl;
}
else cout<<-1<<endl;
}
return 0;
}