#include<iostream>
#include<cstring>
using namespace std;
int dp[1000010],a[500][500];int n;
int dfs(int x,int nn){
// cout<<x<<n<<endl;
if(nn==0)return 0;
if(dp[x])return dp[x];
for(int i=0;i<n;i++){
if((1<<i)&x)
dp[x]=max(dp[x],dfs((1<<i)^x,nn-1)+a[nn-1][i]);
}
return dp[x];
}
int main(){
int t,flag=1;
cin>>t;
cin.tie(),cout.tie();
ios::sync_with_stdio(0);
while(t--){
cin>>n;
memset(dp,0,sizeof(dp));
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
}
}
cout<<"Case "<<flag++<<": ";
cout<<dfs((1<<n)-1,n)<<endl;
}
}