#include <iostream>

using namespace std;

int n;
int x[51][51];
int mx=-(1<<29);

void citire()
{
    cin>>n;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=n;++j)
            cin>>x[i][j];
}

void solve()
{
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=n;++j)
            for(int k=1;k<=n;++k)
            if(j+i-1<=n&&k+i-1<=n)
            {

                int mx1=0;
                bool marc[51][51] = {0,0};
                for(int t = k;t<=k+i-1;++t)
                    mx1+=x[j][t], marc[j][t] = true;
                for(int t= k;t<=k+i-1;++t)
                    if(marc[j+i-1][t] == false)
                    mx1+=x[j+i-1][t],marc[j][t]  = true;
                for(int t=j+1;t<j+i-1;++t)
                {
                    if(marc[t][k] == false)
                    mx1+=x[t][k];
                    if(marc[t][k+i-1] == false)
                    mx1+=x[t][k+i-1];
                    marc[t][k] = true;
                    marc[t][k+i-1] = true;
                }
                mx = max(mx,mx1);
            }
    }
}

int main()
{
    citire();
    solve();
    cout<<mx;
    return 0;
}