#include <stdio.h>
#include <limits.h>
#include <algorithm>
#define nmax 51

using namespace std;

int main() {
    //freopen ("fin.in", "r", stdin);
    int N, A[nmax][nmax], L[nmax][nmax], C[nmax][nmax], maxim = INT_MIN, i, j, nr, lat, ax, ay, bx, by;
    scanf ("%d", &N);
    for (i = 1; i <= N; ++i)
        C[i][0] = 0;
    for (j = 1; j <= N; ++j)
        C[0][j] = 0;
    for (i = 1; i <= N; ++i)
        for (j = 1; j <= N; ++j) {
            scanf ("%d", &A[i][j]);
            L[i][j] = A[i][j] + L[i][j-1];
            C[i][j] = A[i][j] + C[i-1][j];
            if (A[i][j] > maxim) maxim = A[i][j];
        }
    for (i = 1; i <= N; ++i)
        for (j = 1; j <= N; ++j)
            for (lat = 1; lat <= min(N - i, N - j); ++lat) {
                ax = i, ay = j, bx = i + lat, by = j + lat;
                nr = L[ax][by] - L[ax][ay - 1];
                nr += L[bx][by] - L[bx][ay - 1];
                nr += C[bx][ay] - C[ax - 1][ay];
                nr += C[bx][by] - C[ax - 1][by];
                nr -= (A[ax][ay] + A[ax][by] + A[bx][ay] + A[bx][by]);
                if (nr > maxim) maxim = nr;
            }
    printf ("%d\n", maxim);
    /*for (i = 1; i <= N; ++i) {
        for (j = 1; j <= N; ++j)
            printf ("%d ", L[i][j]);
        printf ("\n");
    }
    printf ("\n");
    for (i = 1; i <= N; ++i) {
        for (j = 1; j <= N; ++j)
            printf ("%d ", C[i][j]);
        printf ("\n");
    }*/
    return 0;
}