#include <iostream>
using namespace std;
int M[55][55];
int f(int i1,int j1,int i2,int j2)
{
    int s=0;
    if(i1==i2)
    {
        if(j1==j2)
            return M[i1][j1];
        for(int j=j1;j<=j2;j++)
            s=s+M[i1][j];
        return s;
    }
    if(j1==j2)
    {
        for(int i=i1;i<=i2;i++)
            s=s+M[i][j1];
        return s;
    }
    for(int i=i1;i<=i2;i++)
        s=s+M[i][j1];
    for(int j=j1+1;j<=j2;j++)
        s=s+M[i2][j];
    for(int i=i1;i<i2;i++)
        s=s+M[i][j2];
    for(int j=j1+1;j<j2;j++)
        s=s+M[i1][j];
    return s;
}
int main()
{
    int n;
    cin>>n;
    int mx=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            cin>>M[i][j],mx=max(mx,M[i][j]);
    for(int i1=1;i1<=n;i1++)
        for(int j1=1;j1<=n;j1++)
            for(int i2=i1+1;i2<=n;i2++)
                for(int j2=j1+1;j2<=n;j2++)
                    mx=max(mx,f(i1,j1,i2,j2));
    cout<<mx;
    return 0;
}