#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const ll LINF = 1e18;
const int INF = 1e9;
const int N = 1e5 + 5;
int n, m, q;
int b[N], g[N];
void solve() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> b[i];
for (int i = 1; i <= m; i++) cin >> g[i];
sort(b + 1, b + n + 1);
sort(g + 1, g + m + 1);
cin >> q;
while (q--) {
ll x, y;
cin >> x >> y;
ll ans = 0;
for (int i = 1, l = m + 1, r = m; i <= n; i++) {
// r là vị trí xa nhất thoả mãn b[i] * g[r] <= y
while (r > 0 && 1ll * b[i] * g[r] > y) r--;
// l là vị trí nhỏ nhất thoả mãn b[i] * g[l] >= x
while (l - 1 > 0 && 1ll * b[i] * g[l - 1] >= x) l--;
ans += r - l + 1;
}
cout << ans << '\n';
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt;
cin >> tt;
while (tt--) {
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOyAKCnR5cGVkZWYgbG9uZyBsb25nIGxsOyAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgCgpjb25zdCBsbCBMSU5GID0gMWUxODsgCmNvbnN0IGludCBJTkYgPSAxZTk7Cgpjb25zdCBpbnQgTiA9IDFlNSArIDU7IAoKaW50IG4sIG0sIHE7IAppbnQgYltOXSwgZ1tOXTsgCgp2b2lkIHNvbHZlKCkgewoJY2luID4+IG4gPj4gbTsgCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiBiW2ldOyAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG07IGkrKykgY2luID4+IGdbaV07CgoJc29ydChiICsgMSwgYiArIG4gKyAxKTsgCglzb3J0KGcgKyAxLCBnICsgbSArIDEpOyAKCgljaW4gPj4gcTsKCXdoaWxlIChxLS0pIHsKCQlsbCB4LCB5OwoJCWNpbiA+PiB4ID4+IHk7IAoKCQlsbCBhbnMgPSAwOyAgIAoJCWZvciAoaW50IGkgPSAxLCBsID0gbSArIDEsIHIgPSBtOyBpIDw9IG47IGkrKykgewoJCQkvLyByIGzDoCB24buLIHRyw60geGEgbmjhuqV0IHRob+G6oyBtw6NuIGJbaV0gKiBnW3JdIDw9IHkgCgkJCXdoaWxlIChyID4gMCAmJiAxbGwgKiBiW2ldICogZ1tyXSA+IHkpIHItLTsgCgkJCS8vIGwgbMOgIHbhu4sgdHLDrSBuaOG7jyBuaOG6pXQgdGhv4bqjIG3Do24gYltpXSAqIGdbbF0gPj0geAoJCQl3aGlsZSAobCAtIDEgPiAwICYmIDFsbCAqIGJbaV0gKiBnW2wgLSAxXSA+PSB4KSBsLS07IAoJCQlhbnMgKz0gciAtIGwgKyAxOyAKCQl9CgoJCWNvdXQgPDwgYW5zIDw8ICdcbic7IAoJfSAKfQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAoJY2luLnRpZShudWxscHRyKTsgCglpbnQgdHQ7IAoJY2luID4+IHR0OyAKCXdoaWxlICh0dC0tKSB7CgkJc29sdmUoKTsgCgl9Cn0K