#include<stdio.h> int a[100][100]; int n; int max1(int c[100]); int sumij(int i,int j); int init(); int max2(); int main() { init(); printf("%d/n",max2()); return 0; } int max2() { int i; int j; int summax=0; for(i=n-1;i>=0;i--) for(j=i;j>=0;j--) { int sum; if(i==j) { sum=max1(a[i]); if(sum>summax)summax=sum; } else { sumij(i,j); sum=max1(a[i]); if(sum>summax)summax=sum; } } return summax; } int sumij(int x,int y) { int i; for(i=0;i<n;i++)a[x][i]+=a[y][i]; return 0; } int init() { scanf("%d",&n); int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); return 0; } int max1(int c[100]) { int sum=0; int i;int b=0; for(i=0;i<n;i++) { if(i==0) { if(c[i]>0)b=c[i],sum=b; } else { if(b<=0)b=c[i]; else b+=c[i]; if(b>sum)sum=b; } } return sum; }