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 L, R;
ll val[mn + 10], num[mn + 10][20];
int pcnt[mn + 10], ecnt[mn + 10][20];
void find_prime()
{
for (int i = 0; i <= R - L; i++)
val[i] = L + i;
for (int i = 1; i <= cnt; i++)
{
for (ll j = (L