/*
given:
- a permutation from 1 to n.
- for each i, you can choose to change a_i to 2 * n - a_i
solve:
- find lowest # of inversions
hint 1:
- inversions containing i if a_i = 1 are # of indices to the left of i.
- inversions containing i if a_i = 2 * n - 1 are # of indices to the right of i.
- so we can uniquely determine whether or not a_i = 1 should be flipped or not.
- can we then do this for 2, and then 3, and so on?
*/
#include <iostream>
#include <vector>
#include <map>
#include <set>
using namespace std;
int main() {
cin.tie(0)->sync_with_stdio(0);
int t; cin >> t;
while (t--) {
int n; cin >> n;
vector<int> a(n);
for (int &x : a) cin >> x;
map<int, int> pos;
for (int i = 0; i < n; i++) {
pos[a[i]] = i;
}
int ans = 0;
set<int> taken;
for (int i = 1; i <= n; i++) {
int x = pos[i];
int flip = 0, not_flip = 0;
for (int j = 0; j < x; j++) {
if (a[j] > i && !taken.count(j)) flip++;
}
for (int j = x + 1; j < n; j++) {
if (a[j] > i && !taken.count(j)) not_flip++;
}
ans += min(flip, not_flip);
taken.insert(x);
}
cout << ans << '\n';
}
}
LyoKZ2l2ZW46Ci0gYSBwZXJtdXRhdGlvbiBmcm9tIDEgdG8gbi4KLSBmb3IgZWFjaCBpLCB5b3UgY2FuIGNob29zZSB0byBjaGFuZ2UgYV9pIHRvIDIgKiBuIC0gYV9pCnNvbHZlOiAKLSBmaW5kIGxvd2VzdCAjIG9mIGludmVyc2lvbnMKCmhpbnQgMTogCi0gaW52ZXJzaW9ucyBjb250YWluaW5nIGkgaWYgYV9pID0gMSBhcmUgIyBvZiBpbmRpY2VzIHRvIHRoZSBsZWZ0IG9mIGkuCi0gaW52ZXJzaW9ucyBjb250YWluaW5nIGkgaWYgYV9pID0gMiAqIG4gLSAxIGFyZSAjIG9mIGluZGljZXMgdG8gdGhlIHJpZ2h0IG9mIGkuCi0gc28gd2UgY2FuIHVuaXF1ZWx5IGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCBhX2kgPSAxIHNob3VsZCBiZSBmbGlwcGVkIG9yIG5vdC4KCi0gY2FuIHdlIHRoZW4gZG8gdGhpcyBmb3IgMiwgYW5kIHRoZW4gMywgYW5kIHNvIG9uPwoqLwojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxzZXQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWNpbi50aWUoMCktPnN5bmNfd2l0aF9zdGRpbygwKTsKCWludCB0OyBjaW4gPj4gdDsKCXdoaWxlICh0LS0pIHsKCQlpbnQgbjsgY2luID4+IG47CgkJdmVjdG9yPGludD4gYShuKTsKCQlmb3IgKGludCAmeCA6IGEpIGNpbiA+PiB4OwoJCW1hcDxpbnQsIGludD4gcG9zOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJCXBvc1thW2ldXSA9IGk7CgkJfQoJCWludCBhbnMgPSAwOwoJCXNldDxpbnQ+IHRha2VuOwoJCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCQlpbnQgeCA9IHBvc1tpXTsKCQkJaW50IGZsaXAgPSAwLCBub3RfZmxpcCA9IDA7CgkJCWZvciAoaW50IGogPSAwOyBqIDwgeDsgaisrKSB7CgkJCQlpZiAoYVtqXSA+IGkgJiYgIXRha2VuLmNvdW50KGopKSBmbGlwKys7CgkJCX0KCQkJZm9yIChpbnQgaiA9IHggKyAxOyBqIDwgbjsgaisrKSB7CgkJCQlpZiAoYVtqXSA+IGkgJiYgIXRha2VuLmNvdW50KGopKSBub3RfZmxpcCsrOwoJCQl9CgkJCWFucyArPSBtaW4oZmxpcCwgbm90X2ZsaXApOwoJCQl0YWtlbi5pbnNlcnQoeCk7CgkJfQoJCWNvdXQgPDwgYW5zIDw8ICdcbic7Cgl9Cn0KCgoKCgogICAgICAgCgo=