#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
const int INF = 0x3f3f3f3f;
using namespace std;
int a[105][105];
int dp[105][105][105];
int main(){
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
scanf("%d", &a[i][j]);
}
}
int ans = -INF;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
int sum = 0;
for(int k = j; k >= 1; k--)//枚举以k为终点;//(for(int k = j; k <= n; j++)//这是枚举k为起点;)
{
sum += a[i][k];//sum值记录第i行以k为终点的矩阵和;
dp[i][j][k] = max(sum,sum+ dp[i-1][j][k]);
ans = max(ans, dp[i][j][k]);
}
}
}
printf("%d", ans);
return 0;
}