#include<bits/stdc++.h>
using namespace std;
int n,q,k,cnt,prime[1000001];
bitset <100000001> a;
inline int read(){
int s=0;
char c=getchar();
while(c>='0'&&c<='9'){
s=(s<<3)+(s<<1)+c^48;
c=getchar();
}
return s;
}
inline void write(int x){
if(x>9)write(x/10);
putchar(x%10+48);
}
int main(){
n=read();
q=read();
for(int i=2;i<=n;i++){
if(!a[i])prime[++cnt]=i;
for(int j=1;prime[j]*i<=n&&j<=cnt;j++){
a[prime[j]*i]=1;
if(i%prime[j]==0)break;
}
}
for(int i=0;i<q;i++){
k=read();
write(prime[k]);
printf("\n");
}
return 0;
}