// 11届蓝桥C组数字三角形.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//思想:递归

#include <iostream>
using namespace std;//用了这句代码变量不要取名为max或min否则会提示变量不明确
int ma = 0;
int a[101][101];
void judge(int left, int right, int y, int x,int N,int sum)//y为层数,x是该层的第几个数字,sum是数字累加是和
{
	if (y != N)
	{
	    sum+= a[y][x];
		judge(left + 1, right, y + 1, x, N,sum);
		judge(left, right + 1, y + 1, x + 1, N,sum);
	}
	else//递归边界
	{
		sum += a[y][x];
		if ((left - right) == 1 || (left - right) == -1||left==right)
			if (sum > ma)
				ma = sum;
	}
}
int main()
{
	int i, j, k,N, l, g;
	
	cin >> N;
	for(i=1;i<=N;i++)
		for (j = 1; j <= i; j++)
		{
			cin >> k;
			a[i][j] = k;
		}
	judge(0, 0, 1,1,N,0);
	cout << ma;//答案27

}
/*
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
*/