#include const int Q=55,INF=1999999999; int spl[Q][Q],spc[Q][Q]; int main() { //freopen("data.in","r",stdin); //freopen("data.out","w",stdout); int n,x; scanf("%d",&n); int max=-INF; for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { scanf("%d",&x); if(x>max) max=x; spl[i][j]=spl[i][j-1]+x; spc[i][j]=spc[i-1][j]+x; } } int g; for(int k=2; k<=n; k++) { for(int i=1; i<=n-k+1; i++) { for(int j=1; j<=n-k+1; j++) { g=spc[i+k-1][j]-spc[i-1][j] +spc[i+k-1][j+k-1]- spc[i-1][j+k-1] +spl[i][j+k-2]-spl[i][j]+ spl[i+k-1][j+k-2]-spl[i+k-1][j]; if(g>max ) max=g; } } } printf("%d",max); return 0; }