求全部原根的板子:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
#include<queue>
#define ll long long
#define llu unsigned ll
#define int ll
using namespace std;
const int maxn=1001000;
int prime[maxn],pi[maxn],ans[maxn],cnt=0;
bool ha[maxn],vis[maxn];
int p[110],tot;
void Prime(void)
{
ha[1]=true;
pi[1]=1;
for(int i=2;i<maxn;i++)
{
if(!ha[i]) prime[cnt++]=i,pi[i]=i-1;
for(int j=0;j<cnt&&prime[j]*i<maxn