#include<bits/stdc++.h>
using namespace std;
int prime[100000010];
bool _prime[100000010];
int cnt=0;
void solve(int n){
memset(_prime,1,sizeof(_prime));
_prime[1]=0;
for(int i=2;i<=n;i++){
if(_prime[i]){
prime[++cnt]=i;
for(int j=1;j<=cnt&&i*prime[j]<=n;j++){
_prime[i*prime[j]]=0;
if(i%prime[j]==0)break;
}
}
}
}
int main(){
std::ios::sync_with_stdio(0);
int n,q;
cin>>n>>q;
solve(n);
while(q--){
int k;
cin>>k;
cout<<prime[k]<<endl;
}
return 0;
}
关闭同步了,数组也开大了,为什么