https://vj.e949.cn/f8d37a96d021442108f4492dfd021271?v=1541730304
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;
const int mn = 1e6;
int cnt;
bool prime[mn + 10];
int pm[mn + 10];
void Prime() /// 1e6之内素数表
{
for (int i = 1; i <= mn; i++)
prime[i] = 1;
for (int i = 2; i <= mn; i++)
{
if (prime[i] == 0)
continue;
pm[++cnt] = i;
for (int j = 2; i * j <= mn; j++)
prime[i * j] = 0;
}
}
ll