#include #include #include #include #include #include #include #include #include #define clr(x, y) memset(x, y, sizeof x) using namespace std; typedef long long LL; const double eps=1e-8; const int maxn=100100; const int mod=1e6+10; LL prime[maxn]; LL X[maxn],Y[maxn]; LL A[maxn],B[maxn]; LL ans[maxn]; LL M; LL get_prime(LL n) { LL cnt=0; for(LL i=2;i*i<=n;i++) { if(n%i==0) { prime[cnt++]=i; while(n%i==0) n/=i; } } if(n!=1) prime[cnt++]=n; return cnt; } LL pow_mod(LL a,LL p,LL n) { LL ans=1; while(p) { if(p&1) ans=(ans*a)%n; p>>=1; a=(a*a)%n; } return ans; } vectora; bool g_test(LL g,LL p) { for(LL i=0;i