#include <iostream>
#include <vector>
using namespace std;
vector<int> a;
vector<int> c;
void merge(int low, int high, int mid);
void mergesort(int low, int high)
{
int mid;
if (low < high)
{
mid=(low+high)/2;
mergesort(low,mid);
mergesort(mid+1,high);
merge(low,high,mid);
}
return ;
}
int count ;
void merge(int low, int high, int mid)
{
int i, j, k;
i = low;
k = low;
j = mid + 1;
while (i <= mid && j <= high)
{
if (a[i] < a[j])
{
c[k] = a[i];
k++;
i++;
}
else
{
c[k] = a[j];
k++;
j++;
// cout<<a[i]<<" "<<mid<<" "<<i<<"\n";
count += mid - i+1;
}
}
while (i <= mid)
{
c[k] = a[i];
k++;
i++;
}
while (j <= high)
{
c[k] = a[j];
k++;
j++;
}
for (i = low; i < k; i++)
{
a[i] = c[i];
}
}
int main()
{
//int a[20], i, b[20];
int T;
cin>>T;
while(T--){
//cout<<"enter the elements\n";
int N;
cin>>N;
count =0;
a.clear(); a.resize(N);
c.clear(); c.resize(N);
for (int i = 0; i < N; i++)
{
cin>>a[i];
}
mergesort(0, N-1);
cout<<count<<"\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPGludD4gYTsKdmVjdG9yPGludD4gYzsKdm9pZCBtZXJnZShpbnQgbG93LCBpbnQgaGlnaCwgaW50IG1pZCk7CnZvaWQgbWVyZ2Vzb3J0KGludCBsb3csIGludCBoaWdoKQp7CiAgICBpbnQgbWlkOwogICAgaWYgKGxvdyA8IGhpZ2gpCiAgICB7CiAgICAgICAgIG1pZD0obG93K2hpZ2gpLzI7CiAgICAgICAgIG1lcmdlc29ydChsb3csbWlkKTsKICAgICAgICAgbWVyZ2Vzb3J0KG1pZCsxLGhpZ2gpOwogICAgICAgICBtZXJnZShsb3csaGlnaCxtaWQpOwogICAgfQogICAgcmV0dXJuIDsKfQppbnQgY291bnQgOwp2b2lkIG1lcmdlKGludCBsb3csIGludCBoaWdoLCBpbnQgbWlkKQp7CiAgICBpbnQgaSwgaiwgazsKICAgIGkgPSBsb3c7CiAgICBrID0gbG93OwogICAgaiA9IG1pZCArIDE7CiAgICB3aGlsZSAoaSA8PSBtaWQgJiYgaiA8PSBoaWdoKQogICAgewogICAgICAgIGlmIChhW2ldIDwgYVtqXSkKICAgICAgICB7CiAgICAgICAgICAgIGNba10gPSBhW2ldOwogICAgICAgICAgICBrKys7CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgY1trXSA9IGFbal07CiAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgaisrOwogICAgICAgICAvLyAgIGNvdXQ8PGFbaV08PCIgIjw8bWlkPDwiICI8PGk8PCJcbiI7CiAgICAgICAgICAgIGNvdW50ICs9IG1pZCAtIGkrMTsgCiAgICAgICAgfQogICAgfQogICAgd2hpbGUgKGkgPD0gbWlkKQogICAgewogICAgICAgIGNba10gPSBhW2ldOwogICAgICAgIGsrKzsKICAgICAgICBpKys7CiAgICB9CiAgICB3aGlsZSAoaiA8PSBoaWdoKQogICAgewogICAgICAgIGNba10gPSBhW2pdOwogICAgICAgIGsrKzsKICAgICAgICBqKys7CiAgICB9CiAgICBmb3IgKGkgPSBsb3c7IGkgPCBrOyBpKyspCiAgICB7CiAgICAgICAgYVtpXSA9IGNbaV07CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICAvL2ludCBhWzIwXSwgaSwgYlsyMF07CiAgICBpbnQgVDsKICAgIGNpbj4+VDsKICAgIHdoaWxlKFQtLSl7CgkgICAgLy9jb3V0PDwiZW50ZXIgIHRoZSBlbGVtZW50c1xuIjsKCSAgICBpbnQgTjsKCSAgICBjaW4+Pk47CgkgICAgY291bnQgPTA7CgkgICAgYS5jbGVhcigpOyBhLnJlc2l6ZShOKTsKCSAgICBjLmNsZWFyKCk7IGMucmVzaXplKE4pOwoJICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJICAgIHsKCSAgICAgICAgY2luPj5hW2ldOwoJICAgIH0KCSAgICBtZXJnZXNvcnQoMCwgTi0xKTsKCSAgICAKICAgIAljb3V0PDxjb3VudDw8IlxuIjsKCX0KfQ==