#include <iostream>
#include <vector>
using namespace std;
long long join_vectors(vector<long long>& v, int p, int q, int r) {
long long inv_cnt = 0;
vector<long long> i_left(q-p+1), i_right(r-q);
for (int i = 0; i < (q-p+1); ++i) i_left[i] = v[p+i];
for (int i = 0; i < (r-q); ++i) i_right[i] = v[q+i+1];
int i = 0, j = 0;
for (int k = p; k <= r; ++k) {
if (i_left[i] < i_right[j]) {v[k] = i_left[i]; ++i;}
else {
v[k] = i_right[j]; ++j;
inv_cnt += (q-p+1) - i;
}
}
return inv_cnt;
}
long long count_inv(vector<long long>& v, int p, int r) {
long long inv_cnt = 0;
if (p < r) {
int q = (p+r)/2;
inv_cnt += count_inv(v, p, q);
inv_cnt += count_inv(v, q+1, r);
inv_cnt += join_vectors(v, p, q, r);
}
return inv_cnt;
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int t; cin >> t;
while (t--) {
int n; cin >> n;
vector<long long> v(n);
for (int i = 0; i < n; ++i) cin >> v[i];
long long ic = count_inv(v, 0, v.size()-1);
cout << ic << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbG9uZyBsb25nIGpvaW5fdmVjdG9ycyh2ZWN0b3I8bG9uZyBsb25nPiYgdiwgaW50IHAsIGludCBxLCBpbnQgcikgewoJbG9uZyBsb25nIGludl9jbnQgPSAwOwoJdmVjdG9yPGxvbmcgbG9uZz4gaV9sZWZ0KHEtcCsxKSwgaV9yaWdodChyLXEpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCAocS1wKzEpOyArK2kpIGlfbGVmdFtpXSA9IHZbcCtpXTsKCWZvciAoaW50IGkgPSAwOyBpIDwgKHItcSk7ICsraSkgaV9yaWdodFtpXSA9IHZbcStpKzFdOwoJaW50IGkgPSAwLCBqID0gMDsKCWZvciAoaW50IGsgPSBwOyBrIDw9IHI7ICsraykgewoJCWlmIChpX2xlZnRbaV0gPCBpX3JpZ2h0W2pdKSB7dltrXSA9IGlfbGVmdFtpXTsgKytpO30KCQllbHNlIHsKCQkJdltrXSA9IGlfcmlnaHRbal07ICsrajsKCQkJaW52X2NudCArPSAocS1wKzEpIC0gaTsKCQl9Cgl9CglyZXR1cm4gaW52X2NudDsKfQoKbG9uZyBsb25nIGNvdW50X2ludih2ZWN0b3I8bG9uZyBsb25nPiYgdiwgaW50IHAsIGludCByKSB7Cglsb25nIGxvbmcgaW52X2NudCA9IDA7CglpZiAocCA8IHIpIHsKCQlpbnQgcSA9IChwK3IpLzI7CgkJaW52X2NudCArPSBjb3VudF9pbnYodiwgcCwgcSk7CgkJaW52X2NudCArPSBjb3VudF9pbnYodiwgcSsxLCByKTsKCQlpbnZfY250ICs9IGpvaW5fdmVjdG9ycyh2LCBwLCBxLCByKTsKCX0KCXJldHVybiBpbnZfY250Owp9CgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CglpbnQgdDsgY2luID4+IHQ7Cgl3aGlsZSAodC0tKSB7CgkJaW50IG47IGNpbiA+PiBuOwoJCXZlY3Rvcjxsb25nIGxvbmc+IHYobik7CgkJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIGNpbiA+PiB2W2ldOwoJCWxvbmcgbG9uZyBpYyA9IGNvdW50X2ludih2LCAwLCB2LnNpemUoKS0xKTsKCQljb3V0IDw8IGljIDw8ICdcbic7Cgl9CglyZXR1cm4gMDsKfQ==