#include <stdio.h>
#include <stdlib.h>

long maxsum(int **data,int n,int u,int d)
{
  int i,j;
  long max,tmp;

  for(i=0,tmp=0,max=20000000;i<n;i++) {
    for(j=u;j<=d;j++)
      tmp+=data[j][i];
    if(max==20000000)  max=tmp;
    if(tmp>max)  max=tmp;
    if(tmp<0)  tmp=0;
  }
  return max;
}

int main()
{
  long max,tmp;
  int i,j;
  int n,**data;

  data=malloc(sizeof(int*)*100);
  for(i=0;i<100;i++)
    data[i]=malloc(sizeof(int)*100);
  scanf("%d",&n);
    for(i=0;i<n;i++)
      for(j=0;j<n;j++)
	scanf("%d",&data[i][j]);
    for(i=0,max=20000000;i<n;i++)
      for(j=i;j<n;j++) {
	tmp=maxsum(data,n,i,j);
	if(max==20000000)  max=tmp;
	if(tmp>max)  max=tmp;
      }
    printf("%ld\n",max);
  for(i=0;i<100;i++)
    free(data[i]);
  free(data);
}

