#include using namespace std; int S[55][55],A[55][55]; int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;++i) for(int j=1;j<=n;++j){ scanf("%d",&A[i][j]); S[i][j]=S[i-1][j]+S[i][j-1]-S[i-1][j-1]+A[i][j]; } int Max=-INT_MAX; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j){ int Sum; if(A[i][j]>Max) Max=A[i][j]; int l=i+1,c=j+1; if(l<=n&&c<=n){ Sum=S[i+1][j+1]+S[i-1][j-1]-S[i][j-1]-S[i-1][j]; if(Sum>Max) Max=Sum; } ++l;++c; while(l<=n&&c<=n){ int Sum1,Sum2; Sum1=S[l][c]+S[i-1][j-1]-S[l][j-1]-S[i-1][c]; Sum2=S[l-1][c-1]+S[i][j]-S[l-1][j]-S[i][c-1]; if(Sum1-Sum2>Max) Max=Sum1-Sum2; ++l;++c; } } printf("%d\n",Max); fclose(stdin);fclose(stdout); return 0; }