#include<bits/stdc++.h>
using namespace std;
int log1[1000][1000],re[1000][1000],dp[1000][1000];
int n;
int fun(int x,int y)
{
if(x==n) return log1[x][y];
if(! re[x][y]) re[x][y]=log1[x][y]+max(log1[x+1][y],log1[x+1][y+1]);
return log1[x][y]+max(fun(x+1,y),fun(x+1,y+1));
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
cin>>log1[i][j];
//cout<<"max="<<fun(1,1);
dp[1][1]=log1[1][1];
for(int i=2;i<=n;i++)
for(int j=1;j<=i;j++)
{
dp[i][j]=log1[i][j]+max(dp[i-1][j],dp[i-1][j-1]);
}
int max1=0;
for(int i=1;i<=n;i++)
max1=max(dp[n][i],max1);
cout<<max1;
/*for(int i=1;i<=n;i++)
{for(int j=1;j<=i;j++)
cout<<log1[i][j]<<" ";
cout<<endl;}*/
return 0;
}