#include<cstdio> int quickpow(__int64 n,__int64 m,__int64 mod) { __int64 ans=1,base=n; while(m) { if(m&1) { ans=(base*ans)%mod; } base=(base*base)%mod; m/=2; } return ans; } int main() { int t; scanf("%d",&t); while(t--) { __int64 m; __int64 n; scanf("%I64d %I64d",&m,&n); __int64 ans=0; for(__int64 i=0;i<n;i++) { __int64 q,w; scanf("%I64d %I64d",&q,&w); ans+=quickpow(q,w,m); } ans%=m; printf("%I64d\n",ans); } return 0; } |
Double click to view unformatted code.