#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这个区间以及这个区间的倍数也是不满足的