#include<bits/stdc++.h>
using namespace std;
const int Max=1000;
int a[Max][Max];
int dp[Max][Max];
int main() {
int caseN;
cin>>caseN;
for(int i=0; i<caseN; i++) {
int n;
while(cin>>n) {
memset(a,0,sizeof(a));
memset(dp,0,sizeof(dp)); //每一次重新置0
for(int i=0; i<n; i++) {
for(int j=0; j<=i; j++) {
cin>>a[i][j];
dp[i][j]=a[i][j];
}
}
for(int i=n; i<2*n-1; i++) {
for(int j=0; j<2*n-1-i; j++) {
cin>>a[i][j];
dp[i][j]=a[i][j];
}
}
for(int i=2*n-2; i>=n-1; --i) {
for(int j=0; j<2*n-1-i; j++) {
if(j==0) {
dp[i][j]+=dp[i+1][j];
} else if(j==2*n-2-i) {
dp[i][j]+=dp[i+1][j-1];
} else {
dp[i][j]+=max(dp[i+1][j],dp[i+1][j-1]);
}
}
}
for(int i=n-2; i>=0; --i) {
for(int j=0; j<=i; j++) {
dp[i][j]+=max(dp[i+1][j],dp[i+1][j+1]);
}
}
cout<<"Case "<<i+1<<": "<<dp[0][0]<<endl;
}
}
return 0;
}