#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int ans,value[15],pos[15],visit[15];
void dfs(int level,int dis){
int bt[11]; //标记将在本次移动中移动的卡牌在移动前的位置
memset(bt,0,sizeof(bt));
if(level==9){
if(ans>dis) ans=dis;
return;
}
for(int i=1;i<=9;i++){//卡牌 1到9,卡牌10不需要移动
if(visit[i]==0){
visit[i]=1;
int diss=dis+abs(pos[i]-pos[i+1]);
int t=pos[i];
for(int j=1;j<=9;j++){
if(pos[j]==t) {pos[j]=pos[i+1];bt[j]=t;}
}
dfs(level+1,diss);
visit[i]=0;
for(int j=1;j<=9;j++)
if(bt[j]==t) pos[j]=t;//回溯
}
}
}
int main(){
// freopen("datain.txt","r",stdin);
int t;
cin>>t;
while(t--){
for(int i=1;i<=10;i++){
scanf("%d",&value[i]);
pos[value[i]]=i;
}
ans=9999999;
memset(visit,0,sizeof(visit));
dfs(0,0);
printf("%d\n",ans);
}
}