#include<iostream>
#include<algorithm>
#include<cstdio>
#define ll long long
using namespace std;
ll n, m, q, l, r;
long long cnt (ll x, ll lcm) {
ll a = x % lcm, b = x / lcm;
ll ans = b * max(n, m);
if(a >= max(n, m) - 1){
ans += max(n, m) - 1;
}
else ans += a ;
return x - ans ;
}
int main() {
int t;
cin >> t;
while (t--) {
cin >> n >> m >> q;
while (q --) {
cin >> l >> r;
long long lcm = n / __gcd(n, m) * m;
printf("%lld ",cnt(r, lcm) - cnt(l - 1, lcm));
}
printf("\n");
}
}
根据猜测可发现,在1到n ,m中较大的数减一这些数是不满足条件的,而且在n和m的最小公倍数到最小公倍数加max(n,m)-1这个区间以及这个区间的倍数也是不满足的