#include <bits/stdc++.h>
using namespace std;
long long merge_count(vector<long long>& b, int l, int r) {
if (r - l <= 1) return 0;
int m = (l + r) / 2;
long long inv = merge_count(b, l, m) + merge_count(b, m, r);
vector<long long> temp;
int i = l, j = m;
while (i < m && j < r) {
if (b[i] <= b[j]) temp.push_back(b[i++]);
else {
temp.push_back(b[j++]);
inv += (m - i);
}
}
while (i < m) temp.push_back(b[i++]);
while (j < r) temp.push_back(b[j++]);
for (int k = l; k < r; k++) b[k] = temp[k - l];
return inv;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
vector<pair<long long, long long>> v(n);
for (int i = 0; i < n; i++) cin >> v[i].first >> v[i].second;
sort(v.begin(), v.end());
vector<long long> b(n);
for (int i = 0; i < n; i++) b[i] = v[i].second;
cout << merge_count(b, 0, n) << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgbWVyZ2VfY291bnQodmVjdG9yPGxvbmcgbG9uZz4mIGIsIGludCBsLCBpbnQgcikgewogICAgaWYgKHIgLSBsIDw9IDEpIHJldHVybiAwOwogICAgaW50IG0gPSAobCArIHIpIC8gMjsKICAgIGxvbmcgbG9uZyBpbnYgPSBtZXJnZV9jb3VudChiLCBsLCBtKSArIG1lcmdlX2NvdW50KGIsIG0sIHIpOwogICAgdmVjdG9yPGxvbmcgbG9uZz4gdGVtcDsKICAgIGludCBpID0gbCwgaiA9IG07CiAgICB3aGlsZSAoaSA8IG0gJiYgaiA8IHIpIHsKICAgICAgICBpZiAoYltpXSA8PSBiW2pdKSB0ZW1wLnB1c2hfYmFjayhiW2krK10pOwogICAgICAgIGVsc2UgewogICAgICAgICAgICB0ZW1wLnB1c2hfYmFjayhiW2orK10pOwogICAgICAgICAgICBpbnYgKz0gKG0gLSBpKTsKICAgICAgICB9CiAgICB9CiAgICB3aGlsZSAoaSA8IG0pIHRlbXAucHVzaF9iYWNrKGJbaSsrXSk7CiAgICB3aGlsZSAoaiA8IHIpIHRlbXAucHVzaF9iYWNrKGJbaisrXSk7CiAgICBmb3IgKGludCBrID0gbDsgayA8IHI7IGsrKykgYltrXSA9IHRlbXBbayAtIGxdOwogICAgcmV0dXJuIGludjsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwoKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgaW50IG47CiAgICAgICAgY2luID4+IG47CiAgICAgICAgdmVjdG9yPHBhaXI8bG9uZyBsb25nLCBsb25nIGxvbmc+PiB2KG4pOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gdltpXS5maXJzdCA+PiB2W2ldLnNlY29uZDsKCiAgICAgICAgc29ydCh2LmJlZ2luKCksIHYuZW5kKCkpOwoKICAgICAgICB2ZWN0b3I8bG9uZyBsb25nPiBiKG4pOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBiW2ldID0gdltpXS5zZWNvbmQ7CgogICAgICAgIGNvdXQgPDwgbWVyZ2VfY291bnQoYiwgMCwgbikgPDwgIlxuIjsKICAgIH0KfQ==