#include int a[1024][1024],b[1024],c[1024],n,i,j; int ma(int x, int y) { if(x > y) return x; return y; } int main() { freopen("B.in","r",stdin); freopen("B.out","w",stdout); scanf("%d",&n); for(i=1;i<=n; ++i) { for(j=1;j<=n;++j) { scanf("%d\n",&a[i][j]); } } for(i = 0; i <= n+1; ++i) { a[0][i] = -1024; a[n+1][i] = -1024; a[i][0] = -1024; a[i][n+1] = -1024; } for(i=1;i<=n; ++i) { for(j = 1; j <= n; ++j) { b[j] = a[i][j]; b[j] = ma(b[j], a[i-1][j] + a[i][j]); b[j] = ma(b[j], b[j-1] + a[i][j]); } for(j = n; j>=1; --j) { c[j] = a[i][j]; c[j] = ma(c[j], a[i-1][j] + a[i][j]); c[j] = ma(c[j], c[j+1] + a[i][j]); } for(j = 1; j <= n; ++j) { a[i][j] = ma(b[j],c[j]); } } int rez = -1024; for(i=1; i<=n; ++i) { for(j = 1; j<=n; ++j) { if(a[i][j] > rez) { rez = a[i][j]; } } } printf("%d\n",rez); return 0; }