#include<iostream>
using namespace std;
bool vis[100000005];
int pre[1000005];
int main(){
int n,q;
cin>>n>>q;
vis[1]=1;
for(int i=2;i*i<=n;i++){
if(vis[i]==0){
for(int j=i*i;j<=n;j+=i){
vis[j]=1;
}
}
}
int cnt=0;
for(int i=2;i<=n;i++){
if(vis[i]==0){
pre[++cnt]=i;
}
}
while(q--){
int x;
cin>>x;
cout<<pre[x]<<endl;
}
return 0;
}
埃氏筛+不开long long+不关闭同步流,也可以过。
AC