筛出小于等于n的素数
bool is_pri[MAXN];
void sieve(int n) {
mem(is_pri, 0);
is_pri[0] = is_pri[1] = 1;
for(int i = 2; i <= n; i++) {
if(!is_pri[i]) {
for(int j = i * 2; j <= n; j += i)
is_pri[j] = 1;
}
}
return ;
}