#include <bits/stdc++.h>
using namespace std;
#define int long long
int count_inversions(vector<int> a) {
int n = a.size(), inv = 0;
vector<int> temp(n);
function<void(int, int)> merge_sort = [&](int l, int r) {
if (r - l <= 1) return;
int m = (l + r) / 2;
merge_sort(l, m);
merge_sort(m, r);
int i = l, j = m, k = l;
while (i < m && j < r) {
if (a[i] <= a[j]) temp[k++] = a[i++];
else {
inv += m - i;
temp[k++] = a[j++];
}
}
while (i < m) temp[k++] = a[i++];
while (j < r) temp[k++] = a[j++];
for (int i = l; i < r; ++i) a[i] = temp[i];
};
merge_sort(0, n);
return inv;
}
void solve() {
int n;
cin >> n;
vector<int> p(n);
for (int &x : p) cin >> x;
int best = LLONG_MAX;
int total = 1 << n;
vector<int> a(n);
for (int mask = 0; mask < total; ++mask) {
for (int i = 0; i < n; ++i)
a[i] = (mask >> i & 1) ? (2 * n - p[i]) : p[i];
best = min(best, count_inversions(a));
}
cout << best << '\n';
}
int32_t main() {
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while (t--) solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKCmludCBjb3VudF9pbnZlcnNpb25zKHZlY3RvcjxpbnQ+IGEpIHsKICAgIGludCBuID0gYS5zaXplKCksIGludiA9IDA7CiAgICB2ZWN0b3I8aW50PiB0ZW1wKG4pOwoKICAgIGZ1bmN0aW9uPHZvaWQoaW50LCBpbnQpPiBtZXJnZV9zb3J0ID0gWyZdKGludCBsLCBpbnQgcikgewogICAgICAgIGlmIChyIC0gbCA8PSAxKSByZXR1cm47CiAgICAgICAgaW50IG0gPSAobCArIHIpIC8gMjsKICAgICAgICBtZXJnZV9zb3J0KGwsIG0pOwogICAgICAgIG1lcmdlX3NvcnQobSwgcik7CgogICAgICAgIGludCBpID0gbCwgaiA9IG0sIGsgPSBsOwogICAgICAgIHdoaWxlIChpIDwgbSAmJiBqIDwgcikgewogICAgICAgICAgICBpZiAoYVtpXSA8PSBhW2pdKSB0ZW1wW2srK10gPSBhW2krK107CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgaW52ICs9IG0gLSBpOwogICAgICAgICAgICAgICAgdGVtcFtrKytdID0gYVtqKytdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHdoaWxlIChpIDwgbSkgdGVtcFtrKytdID0gYVtpKytdOwogICAgICAgIHdoaWxlIChqIDwgcikgdGVtcFtrKytdID0gYVtqKytdOwogICAgICAgIGZvciAoaW50IGkgPSBsOyBpIDwgcjsgKytpKSBhW2ldID0gdGVtcFtpXTsKICAgIH07CgogICAgbWVyZ2Vfc29ydCgwLCBuKTsKICAgIHJldHVybiBpbnY7Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGludD4gcChuKTsKICAgIGZvciAoaW50ICZ4IDogcCkgY2luID4+IHg7CgogICAgaW50IGJlc3QgPSBMTE9OR19NQVg7CiAgICBpbnQgdG90YWwgPSAxIDw8IG47CgogICAgdmVjdG9yPGludD4gYShuKTsKCiAgICBmb3IgKGludCBtYXNrID0gMDsgbWFzayA8IHRvdGFsOyArK21hc2spIHsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKICAgICAgICAgICAgYVtpXSA9IChtYXNrID4+IGkgJiAxKSA/ICgyICogbiAtIHBbaV0pIDogcFtpXTsKICAgICAgICBiZXN0ID0gbWluKGJlc3QsIGNvdW50X2ludmVyc2lvbnMoYSkpOwogICAgfQoKICAgIGNvdXQgPDwgYmVzdCA8PCAnXG4nOwp9CgppbnQzMl90IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHNvbHZlKCk7Cn0K