#include #include #include #include #include #include #include #include using namespace std; typedef long long Int; int getphi(int x) { int ret=1; for(int i=2;i*(Int)i<=x;i++) if(x%i==0) { ret=ret*(i-1); x/=i; while(x%i==0)x/=i,ret*=i; } if(x>1)ret=ret*(x-1); return ret; } int powmod(int x,int y,int mod) { int ret=1; while(y){if(y&1)ret=ret*(Int)x%mod;y>>=1;x=x*(Int)x%mod;} return ret; } int check(int x,int y,int mod) { vectorV; while(y){V.push_back(y&1);y>>=1;} reverse(V.begin(),V.end()); int ret=0,tp=1; for(int i=0;i