#include<bits/stdc++.h>
using namespace std;
const int N=1000009;
const int M=100000009;
bool ok[M];
int n,q,pr[N],nP=0;
int main(){
scanf("%d%d",&n,&q);
for(int i=2;i<=n;i++){
if(ok[i]==0){
pr[++nP]=i;
}
if(nP==1000001) break;
for(int j=1;j<=nP&&pr[j]*i<=n;j++){
ok[pr[j]*i]=1;
if(i%pr[j]==0) break;
}
}
for(int i=1;i<=q;i++){
int x;
scanf("%d",&x);
cout<<x<<endl;
printf("%d\n",pr[x]);
}
return 0;
}
答案确实错了,但是不知道怎么改,看起来没啥问题