#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 1005;
int dp[ maxn ][ maxn ], num[ maxn ][ maxn ];
int main(){
int n;
while( cin >> n ){
memset( num, 0, sizeof( num ) );
for( int i = 1; i <= n; ++i ){
for( int j = 1; j <= n; ++j ){
cin >> num[ i ][ j ];
num[ i ][ j ] += num[ i - 1 ][ j ];
}
}
int sum = 0;
int Max = num[ 1 ][ 1 ];
for( int i = 1; i <= n; ++i ){
for( int j = i; j <= n; ++j ){
int sum = 0;
for( int k = 1; k <= n; ++k ){
if( sum < 0 ){
sum = num[ j ][ k ] - num[ i ][ k ];
}
else if( i != j ){
sum += num[ j ][ k ] - num[ i ][ k ];
}
if( sum > Max )
Max = sum;
}
}
}
cout << Max << endl;
}
return 0;
}