#include <iostream>

using namespace std;

#define MIN -1000000001

long long n,i,j,v[1010][1010],s[1010][1010],s1[1010],s2[1010],m;

int main() {
	cin>>n;
	
	if (n==0) {
		cout<<0<<endl;
		return 0;
	}
	
	for (i=1;i<=n;i++) {
		v[0][i] = MIN;
		s[0][j] = MIN;
		v[n+1][i] = MIN;
		s[n+1][j] = MIN;
	}

	s1[0] = MIN;
	s2[0] = MIN;
	s1[n+1] = MIN;
	s2[n+1] = MIN;

	for (i=1;i<=n;i++) {
		for (j=1;j<=n;j++) {
			cin>>v[i][j];
			
			s[i][j] = v[i][j];
		}
	}

	for (i=1;i<=n;i++) {
		s1[0] = MIN;
		s2[n+1] = MIN;

		for (j=1;j<=n;j++) {
			s1[j] = max(s[i][j], s1[j-1] + v[i][j]);
			s1[j] = max(s1[j], s[i-1][j] + v[i][j]);
		}
		
		for (j=n;j>=1;j--) {
			s2[j] = max(s[i][j], s2[j+1] + v[i][j]);
			s2[j] = max(s2[j], s[i-1][j] + v[i][j]);
			s[i][j] = max(s1[j], s2[j]);
		}
	}

	m = MIN;
	for (i=1;i<=n;i++) {
		for (j=1;j<=n;j++) {
			if (m<s[i][j]) m = s[i][j];
		}
	}	
	
	cout<<m<<endl;
	
	return 0;
}