https://www.luogu.com.cn/record/88905646
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<deque>
#include<limits>
using namespace std;
bool isprime[1000001]={0,1};
int prime[1000001];
int t;
int main()
{
ios::sync_with_stdio(0);
memset(isprime,true,sizeof(isprime));
int n,q,k;
cin>>n>>q;
for(int i=2;i<=n;i++)
{
if(isprime[i]==0)
prime[++t]=i;
for(int j=1;j<=t&&prime[j]*i<=n;j++)
{
isprime[prime[j]*i]=1;
if(i%prime[j]==0) break;
}
}
for(int i=1;i<=n;i++)
{
cin>>k;
cout<<prime[k]<<endl;
}
return 0;
}