quick pow
注意不要写res = 1 % p
,特判一下效率快些
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll muli(ll a,ll b,ll p){
ll res = 1;
if(p == 1)return 0;
while(b){
if(b&1){
res = (res * a) % p;
}
a = (a * a) % p;
b >>= 1;
}
return res;
}
void Main(){
ll res = 0;
ll M,H;scanf("%lld%lld",&M,&H);
for(int i = 1;i<=H;i++){
ll A,B;scanf("%lld%lld",&A,&B);
ll t = muli(A,B,M);
res = (res + t) % M;
}
printf("%lld\n",res);
}
int main(){
int T;scanf("%d",&T);
while(T--)Main();
return 0;
}