#include<iostream>
using namespace std;
int max(int data1,int data2)
{
return data1>data2?data1:data2;
}
int N;
int data[101][101];
int Data[101][101];
int main()
{
while(cin>>N)
{
for(int i=0;i<N;i++)
for(int j=0;j<=i;j++)
{
cin>>data[i][j];
if(i==0)
Data[i][j]=data[i][j];
else
Data[i][j]=max(Data[i-1][j],Data[i-1][j-1])+data[i][j];
}
int temp=0;
for(int k=0;k<N;k++)
if(temp<Data[N-1][k])
temp=Data[N-1][k];
cout<<temp<<endl;
}
return 0;
}