#include<iostream>
#include<fstream>
using namespace std;

int N, i, j, dl;
const int DIMM = 56;
const int INF = 2e+9;
int A[DIMM][DIMM], S[DIMM][DIMM];
int result = -INF;

inline int sum(int i1, int j1, int i2, int j2){
	if (i1 > i2 || j1 > j2) return 0;
	return S[i2][j2] - S[i2][j1 - 1] - S[i1 - 1][j2] + S[i1 - 1][j1 - 1];
}

inline int Max(int q, int w){
    if(q > w)
        return(q);
    return(w);
}

int main(){
    // std::cin.sync_with_stdio(false);
    freopen("f.in","r",stdin);
    cin >> N;

    for(i=1;i<=N;++i)
        for(j=1;j<=N;++j){
            cin >> A[i][j];
            S[i][j]=A[i][j]+S[i-1][j]+S[i][j-1]-S[i-1][j-1];
        }

    if(N==1){

        cout << A[1][1] << '\n';
    }else{

	for(i = 1; i <= N; ++i)  
		for(j = 1; j <= N; ++j) 
			for(dl = N - Max(i,j) ; dl >= 0 ; --dl)
                    result = Max(result, sum(i, j, i, j+dl)     + sum(i+dl, j, i+dl, j+dl)+
                                         sum(i+1, j, i+dl-1, j) + sum(i+1, j+dl, i+dl-1, j+dl));

    cout << result << '\n' ;
    }
    return(0);
}