#include<bits/stdc++.h>
using namespace std;
int n,q,k;
template<typename T>
inline void read(T &x)
{
x=0;T f=1;char c=getchar();
for(;c<'0'||c>'9';c=getchar())if(c=='-')f=-1;
for(;c>='0'&&c<='9';c=getchar())x=x*10+c-'0';
x*=f;
}
int prime[100000007];
bool isprime[1000010];
void Getprime(int x)
{
int cnt=0;
memset(isprime,1,sizeof(isprime));
isprime[1]=0;
for(int i=2;i<=n;i++)
{
if(isprime[i]==1)
prime[++cnt]=i;
for(int j=1;j<=cnt&&i*prime[j];j++)
{
isprime[i*prime[j]]=0;
if(i%prime[j]==0) break;
}
}
}
int main()
{
// freopen("prime.in","r",stdin);
read(n);read(q);
Getprime(n);
while(q--)
{
read(k);
cout<<prime[k]<<endl;
}
return 0;
}