#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; }