//题意:计算(A1^B1+A2^B2+ ... +AH^BH)mod M.
#include <iostream> //快速幂取模
#include <stdio.h>
using namespace std;
int power(int a,int b,int m) //快速幂取模计算 (a^b)%m
{
if(a==0)
return 0;
else if(b==0)
return 1;
int r=a%m,k=1; //中间运算过程(k*r,r*r)不会超int范围,m<=45000,m*m<INT_MAX
while(b>1)
{
if((b&1)==1)
k=(k*r)%m;
r=(r*r)%m;
b=b>>1;
}
return (r*k)%m;
}
int main()
{
int cases,m,h,A,B;
scanf("%d",&cases);
while(cases--)
{
int sum=0;
scanf("%d%d",&m,&h);
for(int i=0;i<h;++i) //计算(A1^B1+A2^B2+ ... +AH^BH)mod M.
{
scanf("%d%d",&A,&B);
sum+=power(A,B,m);
sum%=m;
}
printf("%d\n",sum);
}
return 0;
}