poj非常不友好的地方就是现在还用不了万能头,
这道题是快速幂的模板题,基本上就是模板题,然后写这道题的时候顺便看了看模运算的一些规则,
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <vector>
#include <set>
#include <string>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(), (x).end()
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pa;
int calc(int a, int b, int m) {
int ans = 1 % m;
while (b) {
if (b & 1) ans = (ll) ans * a % m;
a = (ll) a * a % m;
b >>= 1;
}
return ans;
}
int main() {
int t;
cin >> t;
while (t--) {
int m, h;
cin >> m >> h;
int ans = 0;
while (h--) {
int a, b;
cin >> a >> b;
ans = ((ll) ans + (ll) calc(a, b, m)) % m;
}
cout << ans << endl;
}
return 0;
}