#include<iostream>
using namespace std;
int N=0;
int d[999][999]={};
int k[999][999]={};
int MAX(int n,int m){
if(n==N){
return d[n][m];
}
int a=MAX(n+1,m)+d[n][m];
int b=MAX(n+1,m+1)+d[n][m];
if(a>b){
return k[n][m]=a;
}else{
return k[n][m]=b;
}
}
int main(){
cin>>N;
for(int i=0;i<999;i++){
for(int j=0;j<999;j++){
k[i][j]=-1;
}
}
for(int i=1;i<=N;i++){
for(int j=1;j<=i;j++){
cin>>d[i][j];
}
}
cout<< MAX(1,1);
}