#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;cin>>n;
vector<vector<int>> nums(n+1,vector<int>(n+1));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
cin>>nums[i][j];
}
}
vector<vector<int>> dp(n+1,vector<int>(n+1));
dp[1][1] = nums[1][1];
for(int i=2;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
if(j==1) dp[i][j] = dp[i-1][j] + nums[i][j];
else if(i == j) dp[i][j] = dp[i-1][j-1] + nums[i][j];
else dp[i][j] = max(dp[i-1][j],dp[i-1][j-1]) + nums[i][j];
}
}
cout<<*max_element(dp[n].begin(),dp[n].end());
}
// 64 位输出请用 printf("%lld")