/*   @JUDGE_ID:   1705PZ   108   C */
#include <stdio.h>

int main()
{
	int i,j,k,n;
	long temp,now,max = 0x80000000L;
	long table1[100][100] ,table2[100][100];

	scanf("%d",&n);
	for(i = 0;i < n;i++)
		for(j = 0;j < n;j++)
			scanf("%ld",&table1[i][j]);

	for(i = 0;i < n;i++)
		table2[i][0] = 0;
	for(i = 0;i < n;i++)
		for(j = 1;j < n;j++)
			table2[i][j] = table2[i][j - 1] + table1[i][j - 1];

	for(i = 0;i < n;i++)
		for(j = i;j < n;j++)
		{
			now = 0x80000000L;
			for(k = 0;k < n;k++)
			{
				temp=table2[k][j]+table1[k][j]-table2[k][i];
				if(now < 0)
					now = temp;
				else
					now += temp;
				if(now > max)
					max = now;
			}
		}

	printf("%ld\n",max);
	return 0;
}
@END_OF_SOURCE_CODE

