#include<bits/stdc++.h>
namespace myio{
inline void read(int &x){
int f=1;x=0;
char c=getchar();
while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
while(isdigit(c)){x=(x<<3)+(x<<1)+c-'0';c=getchar();}
x*=f;
}
void write(int x){
if(x){
if(x<0){x=-x;putchar('-');}
putchar(x%10+'0');
write(x/10);
}
}
}
using namespace std; using namespace myio;
bool is[100000001];
int prime[1000001];
int n,q,k,c;
#define rint register int
int main(){
read(n);
read(q);
memset(is,true,sizeof(is));
for(rint i=2;i<=n;i++){
if(is[i])prime[++c]=i;
for(rint j=1;i*prime[j]<=n&&j<=c;j++){
is[i*prime[j]]=false;
if(i%prime[j]==0)break;
}
}
while(q--){
read(k);
write(prime[k]);
putchar('\n');
}
return 0;
}