#include #include #include #include #include #include #include #define in cin #define out cout #define abs(x) ((x>0)?(x):(-(x))) #define max(a, b) (a > b ? a : b) #define min(a, b) (a < b ? a : b) #define FOR(i, a, b) for(int i = a; i <= b; ++i) #define DOWNFOR(i, a, b) for(int i = a; i >= b; --i) #define FOREACH(i, t) for (typeof(t.begin()) i = t.begin(); i != t.end(); ++i) #define ll long long using namespace std; int N; int A[55][55]; int S[55][55]; int Max=-(1<<30); int main(){ #ifndef ONLINE_JUDGE ifstream in("test.in"); ofstream out("test.out"); #endif in>>N; FOR(i,1,N) FOR(j,1,N) in>>A[i][j]; FOR(i,1,N) FOR(j,1,N) S[i][j]=S[i-1][j]+S[i][j-1]-S[i-1][j-1]+A[i][j]; FOR(i,1,N) FOR(j,1,N){ Max=max(Max,A[i][j]); for(int k=1;max(i,j)+k<=N;k++){ int sum=S[i+k][j+k]-S[i+k][j-1]-S[i-1][j+k]+S[i-1][j-1]; int ssum=S[i+k-1][j+k-1]-S[i+k-1][j]-S[i][j+k-1]+S[i][j]; Max=max(Max,sum-ssum); } } out<