#include<bits/stdc++.h>
using namespace std;
#define int_max 200000000
int trigraph(int,int,int,vector<vector<int>>,vector<vector<int>>&);
int main()
{
int n,tc=0;
while(cin>>n){
if(n==0)
break;
tc++;
vector<vector<int>> arr(n,vector<int> (3));
vector<vector<int>> fin(n,vector<int> (3,-200000000));
for(int i=0;i<n;i++)
for(int j=0;j<3;j++)
cin>>arr[i][j];
cout<<tc<<". "<<trigraph(n,0,1,arr,fin)<<endl;
}
return 0;
}
int trigraph(int n,int a,int b,vector<vector<int>> arr,vector<vector<int>>&fin)
{
int temp,flag=0;
if(b<0 || b>2)
return int_max;
if(a>=n){
return 0;
}
if(fin[a][b]!=-200000000)
return fin[a][b];
int b1=b;
fin[a][b]=arr[a][b]+min(trigraph(n,a+1,b-1,arr,fin),min(trigraph(n,a+1,b,arr,fin),trigraph(n,a+1,b+1,arr,fin)));
b1++;
while(b1<3){
if(flag==0){
temp=arr[a][b]+arr[a][b1]+min(trigraph(n,a+1,b1-1,arr,fin),min(trigraph(n,a+1,b1,arr,fin),trigraph(n,a+1,b1+1,arr,fin)));
}
if(flag==1){
temp=arr[a][b]+arr[a][b1]+arr[a][b1-1]+min(trigraph(n,a+1,b1-1,arr,fin),min(trigraph(n,a+1,b1,arr,fin),trigraph(n,a+1,b1+1,arr,fin)));
}
flag=1;
if(temp<fin[a][b])
fin[a][b]=temp;
b1++;
}
return fin[a][b];
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnRfbWF4IDIwMDAwMDAwMAppbnQgdHJpZ3JhcGgoaW50LGludCxpbnQsdmVjdG9yPHZlY3RvcjxpbnQ+Pix2ZWN0b3I8dmVjdG9yPGludD4+Jik7CmludCBtYWluKCkKewogICAgaW50IG4sdGM9MDsKICAgIHdoaWxlKGNpbj4+bil7CiAgICAgICAgaWYobj09MCkKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgdGMrKzsKICAgICAgICB2ZWN0b3I8dmVjdG9yPGludD4+IGFycihuLHZlY3RvcjxpbnQ+ICgzKSk7CiAgICAgICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBmaW4obix2ZWN0b3I8aW50PiAoMywtMjAwMDAwMDAwKSk7CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgICAgICAgICAgZm9yKGludCBqPTA7ajwzO2orKykKICAgICAgICAgICAgICAgIGNpbj4+YXJyW2ldW2pdOwogICAgICAgIGNvdXQ8PHRjPDwiLiAiPDx0cmlncmFwaChuLDAsMSxhcnIsZmluKTw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9CmludCB0cmlncmFwaChpbnQgbixpbnQgYSxpbnQgYix2ZWN0b3I8dmVjdG9yPGludD4+IGFycix2ZWN0b3I8dmVjdG9yPGludD4+JmZpbikKewogICAgaW50IHRlbXAsZmxhZz0wOwogICAgaWYoYjwwIHx8IGI+MikKICAgICAgICByZXR1cm4gaW50X21heDsKICAgIGlmKGE+PW4pewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgaWYoZmluW2FdW2JdIT0tMjAwMDAwMDAwKQogICAgICAgIHJldHVybiBmaW5bYV1bYl07CiAgICBpbnQgYjE9YjsKICAgIGZpblthXVtiXT1hcnJbYV1bYl0rbWluKHRyaWdyYXBoKG4sYSsxLGItMSxhcnIsZmluKSxtaW4odHJpZ3JhcGgobixhKzEsYixhcnIsZmluKSx0cmlncmFwaChuLGErMSxiKzEsYXJyLGZpbikpKTsKICAgIGIxKys7CiAgICB3aGlsZShiMTwzKXsKICAgICAgICBpZihmbGFnPT0wKXsKICAgICAgICAgICAgdGVtcD1hcnJbYV1bYl0rYXJyW2FdW2IxXSttaW4odHJpZ3JhcGgobixhKzEsYjEtMSxhcnIsZmluKSxtaW4odHJpZ3JhcGgobixhKzEsYjEsYXJyLGZpbiksdHJpZ3JhcGgobixhKzEsYjErMSxhcnIsZmluKSkpOwogICAgICAgIH0KICAgICAgICBpZihmbGFnPT0xKXsKICAgICAgICAgICAgdGVtcD1hcnJbYV1bYl0rYXJyW2FdW2IxXSthcnJbYV1bYjEtMV0rbWluKHRyaWdyYXBoKG4sYSsxLGIxLTEsYXJyLGZpbiksbWluKHRyaWdyYXBoKG4sYSsxLGIxLGFycixmaW4pLHRyaWdyYXBoKG4sYSsxLGIxKzEsYXJyLGZpbikpKTsKICAgICAgICB9CiAgICAgICAgZmxhZz0xOwogICAgICAgIGlmKHRlbXA8ZmluW2FdW2JdKQogICAgICAgICAgICBmaW5bYV1bYl09dGVtcDsKICAgICAgICBiMSsrOwogICAgfQogICAgcmV0dXJuIGZpblthXVtiXTsKfQo=