#include<iostream>
using namespace std;
int arrHau[100][8];
int arr[8];
int value[8][8];
int step=0;
bool check(int x, int y){
for(int i=0;i<y;i++){
if(arr[i]==x) return false;
if(arr[i]-x == y- i|| x- arr[i]== y-i) return false;
}
return true;
}
void sinhHau(int r){
if(r==8){
for(int i=0;i<8;i++){
arrHau[step][i]= arr[i];
}
step++;
return;
}
for(int i=0;i<8;i++){
if(check(i, r)){
arr[r]=i;
sinhHau(r+1);
}
}
}
int main(){
sinhHau(0);
int t;
cin>>t;
for(int test=1;test<=t;test++) {
int n;
cin>>n;
cout<<"Case #"<<test<<endl;
for(int i=0;i<n;i++){
for(int h=0;h<8;h++) {
for(int k=0;k<8;k++){
cin>>value[h][k];
}
}
int max=0;
for(int h=0;h<step;h++){
int sum=0;
for(int k=0;k<8;k++){
sum+= value[k][arrHau[h][k]];
}
if(sum>max) max=sum;
}
cout<<max<<endl;
}
}
return 0;
}