bool flag[100000010];
int n,q,k,prime[6000000],cnt;
void eratosthenes()
{
memset(flag,false,sizeof(flag));
for(int i=2;i<=n;i++)
{
if(flag[i]) continue;
prime[++cnt]=i;
for(long long j=i*i;j<=n;j+=i)
{
flag[j]=true;
}
}
return;
}
int main()
{
n=read(),q=read();
eratosthenes();
while(q--)
{
k=read();
write(prime[k]);
putchar('\n');
}
return 0;
}