#include <iostream>
#include <malloc.h>
#include <string.h>
using namespace std;
int qr();
int main(){
int n=qr(),q=qr();
bool *isPrime=(bool*)malloc(sizeof(bool)*1e8);
memset(isPrime,1,sizeof(bool)*1e8);
int *prime=(int*)malloc(sizeof(int)*1e7);
int index=0;
for(int i=2;i<n;i++){
if(isPrime[i])prime[++index]=i;
for(int j=1;j<=index&&prime[j]*i<n;j++){
isPrime[prime[j]*i]=false;
if(i%prime[j]==0)break;
}
}
int num=0;
for(int i=0;i<q;i++){
num=qr();
cout<<prime[num]<<endl;
}
}
int qr(){
int res=0;
char mid=getchar();
while(mid<='9'&&mid>='0'){
res*=10;
res+=mid-'0';
mid=getchar();
}
return res;
}