#include<stdio.h>
int num[1010][1010]={0};
long int m(long int a,long int b)
{
if(a>b)
return a;
else
return b;
}
int main()
{
int n,i,j;
long int dp[1010]={0};
long int max;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
scanf("%d",&num[i][j]);
for(i=1;i<=n;i++)
{
for(j=i;j>0;j--)
{
dp[j]=m(dp[j],dp[j-1])+num[i][j];
}
}
max=dp[1];
for(i=1;i<=n;i++)
if(max<dp[i])
max=dp[i];
printf("%ld\n",max);
return 0;
}