#include <stdio.h>#include <string.h>#define MIN -100000000long maxsum1(long*,long);long maxsum2(long [][21],long);long maxsum1(long *a,long n) { long sum=MIN,b=MIN,i; for (i=1;i<=n;++i) { if (b>0) b+= a[i]; else b=a[i]; if (b>sum) sum=b; } return sum;}long maxsum2(long a[][21],long n) { long max,sum=MIN,b[21],i,k,j; for (i=1;i<=n;++i) { for (k=1;k<=n;++k) b[k]=0; for(j=i;j<=n;j++) { for(k=1;k<=n;k++) b[k]+=a[j][k]; max=maxsum1(b,n); if(max>sum) sum=max; } if (j==2) sum=b[1]; } return sum;}int main() { long i,j,k,l,max,sum,n,a[21][21][21],b[21][21]; while(1) { scanf("%ld",&n); if (!n) break; for (i=1;i<=n;++i) for (j=1;j<=n;++j) for(k=1;k<=n;++k) scanf("%ld",&a[i][j][k]); sum=0; if (n==1) {printf("%ldn",a[1][1][1]);continue;} memset(b,0,sizeof(0)); for (i=1;i<=n;++i) { for (j=1;j<=n;++j) for (k=1;k<=n;++k) b[j][k]=0; for (l=i;l<=n;++l) { for (j=1;j<=n;++j) for (k=1;k<=n;++k) b[j][k]+=a[l][j][k]; max=maxsum2(b,n); if(max>sum) sum=max; } } printf("%ldn",sum); } return 0;}