#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; ll solve(ll a, ll n, ll m){ if(m==1) return 0; if(a==1 || n==0) return 1; if(n==1) return a%m; ll p[2500]; p[0]=1; map mp; mp[1]=0; ll d1, d; for(int i=1; i<=m; i++){ p[i]=p[i-1]*a%m; if(mp.find(p[i])!=mp.end()){ d1=mp[p[i]], d=i-d1; break; } mp[p[i]]=i; } if(n==2){ if(a>a>>n>>m; cout<