//const int maxn = 20000;
vector<int>prime; //储存素数
vector<bool>vis(maxn , false); //vis[i] = false 的为素数
void Prime(){
vis[1] = 1 , vis[0] = 1;
for(int i = 2;i <= maxn; i++){
if(!vis[i]){
prime.push_back(i);
}
for(int j = 0;j < prime.size() && i * prime[j] <= maxn;j ++){
vis[i * prime[j]] = true;
if (i % prime[j] == 0){
break;
}
}
}
}