#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int dp[210][210];
vector<int>arr[210];
int n,test,i,j,k,add,temp;
int rec(int row,int column)
{
if(dp[row][column]!=-1)
{
return dp[row][column];
}
if(row<0||column>=arr[row].size())
{
return 0;
}
else if(row<n)
{
dp[row][column]=arr[row][column]+max(rec(row-1,column),rec(row-1,column-1));
return dp[row][column];
}
else
{
dp[row][column]=arr[row][column]+max(rec(row-1,column+1),rec(row-1,column));
return dp[row][column];
}
}
int main()
{
//freopen("tempin.txt","r",stdin);
//freopen("tempout.txt","w",stdout);
cin>>test;
for(i=0;i<test;i++)
{
cin>>n;
memset(dp,-1,sizeof dp);
for(j=0;j<(2*n)-1;j++)
{
arr[j].clear();
}
for(j=0,add=1;j<n;j++,add++)
{
for(k=0;k<add;k++)
{
cin>>temp;
arr[j].push_back(temp);
//cout<<"j "<<j<<" k "<<k<<endl;
}
}
for(j=n,add=n-1;j<(2*n);j++,add--)
{
for(k=0;k<add;k++)
{
cin>>temp;
arr[j].push_back(temp);
//cout<<"j "<<j<<" k "<<k<<endl;
}
}
cout<<"Case "<<i+1<<": "<<rec((2*n)-2,0)<<endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdHJpbmc+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZHBbMjEwXVsyMTBdOwp2ZWN0b3I8aW50PmFyclsyMTBdOwppbnQgbix0ZXN0LGksaixrLGFkZCx0ZW1wOwppbnQgcmVjKGludCByb3csaW50IGNvbHVtbikKewogICAgaWYoZHBbcm93XVtjb2x1bW5dIT0tMSkKICAgIHsKICAgICAgICByZXR1cm4gZHBbcm93XVtjb2x1bW5dOwogICAgfQogICAgaWYocm93PDB8fGNvbHVtbj49YXJyW3Jvd10uc2l6ZSgpKQogICAgewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZWxzZSBpZihyb3c8bikKICAgIHsKICAgICAgICBkcFtyb3ddW2NvbHVtbl09YXJyW3Jvd11bY29sdW1uXSttYXgocmVjKHJvdy0xLGNvbHVtbikscmVjKHJvdy0xLGNvbHVtbi0xKSk7CiAgICAgICAgcmV0dXJuIGRwW3Jvd11bY29sdW1uXTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBkcFtyb3ddW2NvbHVtbl09YXJyW3Jvd11bY29sdW1uXSttYXgocmVjKHJvdy0xLGNvbHVtbisxKSxyZWMocm93LTEsY29sdW1uKSk7CiAgICAgICAgcmV0dXJuIGRwW3Jvd11bY29sdW1uXTsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICAvL2ZyZW9wZW4oInRlbXBpbi50eHQiLCJyIixzdGRpbik7CiAgICAvL2ZyZW9wZW4oInRlbXBvdXQudHh0IiwidyIsc3Rkb3V0KTsKICAgIGNpbj4+dGVzdDsKICAgIGZvcihpPTA7aTx0ZXN0O2krKykKICAgIHsKICAgICAgICBjaW4+Pm47CiAgICAgICAgbWVtc2V0KGRwLC0xLHNpemVvZiBkcCk7CiAgICAgICAgZm9yKGo9MDtqPCgyKm4pLTE7aisrKQogICAgICAgIHsKICAgICAgICAgICAgYXJyW2pdLmNsZWFyKCk7CiAgICAgICAgfQogICAgICAgIGZvcihqPTAsYWRkPTE7ajxuO2orKyxhZGQrKykKICAgICAgICB7CiAgICAgICAgICAgIGZvcihrPTA7azxhZGQ7aysrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjaW4+PnRlbXA7CiAgICAgICAgICAgICAgICBhcnJbal0ucHVzaF9iYWNrKHRlbXApOwogICAgICAgICAgICAgICAgLy9jb3V0PDwiaiAiPDxqPDwiIGsgIjw8azw8ZW5kbDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3Ioaj1uLGFkZD1uLTE7ajwoMipuKTtqKyssYWRkLS0pCiAgICAgICAgewogICAgICAgICAgICBmb3Ioaz0wO2s8YWRkO2srKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2luPj50ZW1wOwogICAgICAgICAgICAgICAgYXJyW2pdLnB1c2hfYmFjayh0ZW1wKTsKICAgICAgICAgICAgICAgIC8vY291dDw8ImogIjw8ajw8IiBrICI8PGs8PGVuZGw7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dDw8IkNhc2UgIjw8aSsxPDwiOiAiPDxyZWMoKDIqbiktMiwwKTw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==