#include<iostream>
using namespace std;
int MaxSum1D(int *a, int n)
{
    int sum = -128, b = 0;
    int i;
    for (i=0; i<n; ++i)
    {
        if(b > 0) b += a[i];
        else      b = a[i];
        if(b > sum) sum = b;
    }
    return sum;
}
int MaxSum2D(int a[][101], int m, int n)
{
    int sum = -128;
    int i, j, k;
    int *b = new int[n+1];
    for (i=0; i<m; ++i)
    {
        for (k=0; k<n; ++k) b[k] = 0;
        for (j=i; j<m; ++j)
        {
            for (k=0; k<n; ++k) b[k] += a[j][k];
            int Max = MaxSum1D(b, n);
            if(Max > sum)
                sum = Max;
        }
    }
    return sum;
}
int main()
{
    int n, i, j;
    int a[101][101];
    while (cin >> n)
    {
        for (i=0; i<n; ++i)
        {
            for (j=0; j<n; ++j)
            {
                cin >> a[i][j];
            }
        }
        cout << MaxSum2D(a, n, n) << endl;
    }
    return 0;
}