#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
int T,n,a[maxn];
struct Tree_Array {
#define lowbit(x) x & -x
int c[maxn];
inline void init() { for (int i = 1; i <= n; i += lowbit(i)) c[i] = 0; }
inline int add(int x, int y) {
for (; x <= n; x += lowbit(x)) c[x] += y;
}
inline int ask(int x) {
int ans = 0;
for (; x; x -= lowbit(x)) ans += c[x];
return ans;
}
};
Tree_Array x;
int main(){
scanf("%d",&T);
while(T--){
x.init();
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&a[i]);
int s=0;
for(int i=n;i;--i){
x.add(a[i],1);
s+=x.ask(a[i]-1);
}
printf("Optimal train swapping takes %d swaps.\n",s);
}
return 0;
}