#include<bits/stdc++.h>
using namespace std;
int suc=0;
int t,xxx,yyy;
int xx[8]={1,1,2,2,-1,-1,-2,-2};
int yy[8]={2,-2,1,-1,2,-2,1,-1};
int pi[5][5];
int tu[5][5]={{1,1,1,1,1},{0,1,1,1,1},{0,0,-6,1,1},{0,0,0,0,1},{0,0,0,0,0}};
void swap(int a,int b,int c,int d)
{
char tt=pi[c][d];
pi[c][d]=pi[a][b];
pi[a][b]=tt;
}
int prc()
{
int cn=0;
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
if(tu[i][j]!=pi[i][j]&&pi[i][j]!=-6)
cn++;
return cn;
}
void dfs(int dep,int x,int y,int mxln)
{
if(!prc())cout<<dep<<endl,suc=1;
else if(prc()+dep<=mxln)
for(int i=0;i<8;i++)
if(x+xx[i]>=0&&y+yy[i]>=0&&x+xx[i]<5&&y+yy[i]<5)
{
swap(x,y,x+xx[i],y+yy[i]);
dfs(dep+1,x+xx[i],y+yy[i],mxln);
swap(x,y,x+xx[i],y+yy[i]);
if(suc==1)return;
}
return ;
}
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
suc=0;
for(int j=0;j<5;j++)
for(int k=0;k<5;k++)
{
int q=getchar()-'0';
if(q==-38)q=getchar()-'0';
pi[j][k]=q;
if(pi[j][k]=='*'-'0')xxx=j,yyy=k;
}
for(int k=0;k<=15;k++)
{
dfs(0,xxx,yyy,k);
if(suc==1) break;
}
if(suc==0)cout<<-1<<endl;
}
return 0;
}