#include<bits/stdc++.h>
using namespace std;
int n,q;
int pointer,prime[100000002];
bool not_prime[100000002];
void pre(){
for(int i=2;i<=n;i++){
if(not_prime[i]==0){
prime[++pointer]=i;
for(int j=i*i;j<=n;j+=i){
not_prime[j]=1;
}
}
}
}//埃筛
void euler_prime(){
not_prime[1]=1;
for(int i=2;i<=n;i++){
if(!not_prime[i]){
prime[++pointer]=i;
}
for(int j=1;prime[j]*i<=n&&j<=pointer;j++){
not_prime[i*prime[j]]=1;
if(i%prime[j]==0)break;
}
}
}//欧拉筛
int main(){
scanf("%d %d",&n,&q);
euler_prime();
int t;
for(int i=1;i<=q;i++){
scanf("%d",&t);
printf("%d",prime[t]);
}
return 0;
}