#include<cstdio>
#include<iostream>
int h,a[114][114],dp[114][114]={-1};
void dfs(int x,int y){
if(dp[x][y]!=-1)return;
if(x==h){
dp[x][y]=a[x][y];
return;
}
dfs(x+1,y);
dfs(x+1,y+1);
dp[x][y]=a[x][y]+std::max(dp[x+1][y],dp[x+1][y+1]);
}
int main(){
scanf("%d",&h);
for(int i=1;i<=h;i++)
for(int j=1;j<=i;j++)
scanf("%d",a[i]+j);
dfs(1,1);
printf("%d",dp[1][1]);
return 0;
}