1 #include<bits/stdc++.h>
2 #define MAX_N 1000+10
3 using namespace std;
4 int isb[MAX_N];
5 int n,q;
6
7 inline int read()
8 {
9 int x=0,f=1;char ch=getchar();
10 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
11 while(ch>='0'&&ch<='9')x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
12 return x*f;
13 }
14
15 int calc(int bm,int len)
16 {
17 int e=0;
18 while(bm){e=(e<<1)+(e<<3)+bm%10;bm/=10;}
19 for(int i=1;i<=n;i++)
20 {
21 int now=isb[i],cm=0;
22 for(int j=1;j<=len;j++){cm=(cm<<1)+(cm<<3)+now%10;now/=10;}
23 if(cm==e)
24 return isb[i];
25 }
26 return -1;
27 }
28
29 int main()
30 {
31 freopen("librarian.in","r",stdin);
32 freoepn("librarian.out","w",stdout);
33 n=read();q=read();
34 for(int i=1;i<=n;i++)isb[i]=read();
35 sort(isb+1,isb+n+1);
36 for(int i=1;i<=q;i++)
37 {
38 int l=read(),need=read();
39 int ans=calc(need,l);
40 printf("%d\n",ans);
41 }
42 return 0;
43 }