#include <iostream>
#include <fstream>
#include <string.h>
#include <algorithm>
#include <fstream>
#include <bitset>
#include <map>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <utility>
#include <string>
#include <iomanip>
#include <cstring>
#include <cmath>

#define vint vector<int>::iterator
#define vintp vector<pair<int,int> >::iterator
#define ll long long
#define maxn 251
#define inf (1<<30)

using namespace std;

ifstream fin ("A.in");
ofstream fout("A.out");

int a[maxn][maxn],s[maxn][maxn],ss[maxn][maxn];
int n,m,nr,maxv=-inf;

int main()
{
    cin>>n;

    for (int i=1; i<=n; ++i)
    {
        for (int j=1; j<=n; ++j)
        {
            cin>>a[i][j];
            maxv = max (maxv,a[i][j]);
            s[i][j] = s[i-1][j] + a[i][j];
        }
    }

    for (int i=1; i<=n; ++i)
    for (int j=1; j<=n; ++j)
    {
        ss[i][j] = ss[i][j-1] + a[i][j];
    }

    for (int i=1; i<=n; ++i)
    {
        for (int j=1; j<=n; ++j)
        {
            for (int ii=i-1, jj = j-1; ii>=1 && jj>=1; --ii, --jj)
            {
                maxv = max (maxv,s[i][j]-s[ii-1][j] + s[i][jj]-s[ii-1][jj] + ss[i][j] - ss[i][jj-1] + ss[ii][j] - ss[ii][jj-1] - a[ii][jj] - a[ii][j] - a[i][jj] - a[i][j]);
            }
        }
    }

    cout<<maxv;
}