#include<iostream>#include<cstdio>#include<iomanip>#include<string>#include<cstdlib>#include<cstring>#include<queue>#include<set>#include<vector>#include<map>#include<algorithm>#include<cmath>#include<stack>#define INF 0x3f3f3f3f#define LINF 0x3f3f3f3f3f3f3f3f#define ll long long#define ull unsigned long long#define uint unsigned int#define l(x) (x<<1)#define r(x) (x<<1|1)#define ms(a,b) memset(a,b,sizeof(a))usingnamespace std;intmpow(int a,int p,int mod){int res =1;while(p){if(p &1) res =(res*a)% mod;
a =(a*a)%mod;
p >>=1;}return res;}int z, m, h,a,p;int ans;intmain(){scanf("%d",&z);while(z--){scanf("%d%d",&m,&h);
ans =0;for(int i =0; i < h; i++){scanf("%d%d",&a,&p);
ans +=mpow(a, p, m);
ans %= m;}printf("%d\n", ans);}return0;}