这题很水 就是很普通的快速幂取模 二分的原理 水过。。。
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long modular(long long a,long long b,long long c)
{
int ans=1;
while(b)
{
if(b&1)
ans=ans*a%c;
b>>=1;
a=a*a%c;
}
return ans;
}
int main()
{
int t,h,m;
long long a,b;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&m,&h);
long long ans=0;
while(h--)
{
scanf("%lld%lld",&a,&b);
ans=(ans+modular(a,b,m))%m;
}
printf("%lld\n",ans);
}
return 0;
}