#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
typedef long long ll;
typedef pair<int, int> PII;
const int N = 25;
int cnt;
int g[25][25], f[N][N], n;
int dx[]={0,0,-1},dy[]={1,-1,0};
void solve()
{
int ans=0x3f3f3f3f;
cin >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> g[i][j];
cout << "Case " << ++cnt << ": ";
for (int i = 0; i < (1 << n) ; i++)
{
int sum=0;
for (int j = 0; j < n; j++)
{
if (i >> j & 1)
f[0][j] = 1;
else
f[0][j] = 0;
}
for (int i=1;i<n;i++)
{
for (int j=0;j<n;j++)
{
int x=i-1,y=j,t=0;
for (int i=0;i<3;i++)
{
int xx=x+dx[i],yy=y+dy[i];
if (xx>=0 && yy >=0 && xx<n)
t+=f[xx][yy];
}
if (t%2==0)
f[i][j]=0;
else
f[i][j]=1;
}
}
bool flag=true;
for(int i=0;i<n && flag;i++)
for (int j=0;j<n;j++)
{
if (g[i][j]==0 && f[i][j]==1)
sum++;
else if (g[i][j]==1 && f[i][j]==0)
{
sum=0x3f3f3f3f;
flag=false;
break;
}
}
ans=min(ans,sum);
}
if (ans!=0x3f3f3f3f)
cout << ans <<endl;
else
cout << -1 <<endl;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int T;
cin >> T;
while (T--)
{
solve();
}
return 0;
}