Raising Modulo Numbers
题目![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3362a1ec827f05d40cc1332d11b80998.png)
#include <iostream>
#include <cmath>
using namespace std;
#define ll long long
ll mod;
ll QuickPow(int x, int N)
{
ll res = x%mod;
ll ans = 1;
while(N)
{
if(N & 1)
{
ans = ans * res%mod;
}
res = res * res%mod;
N = N >> 1;
}
return ans%mod;
}
int main()
{
int t;
cin>>t;
while(t--)
{
ll h;
ll sum=0;
cin>>mod>>h;
for(int i=1;i<=h;i++)
{
ll a,b;
scanf("%lld%lld",&a,&b);
sum=(sum+QuickPow(a,b))%mod;
}
cout<<sum<<endl;
}
return 0;
}