#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>

using namespace std;

int main(){

	int n;
	scanf("%d",&n);

	int table[n][n];

	for(int i = 0; i < n; i++){
		for(int k = 0; k < n; k++)scanf("%d",&table[i][k]);
	}

	int maximum = -2000000000,tmp,pre,pre_row;

	for(int H = 1; H <= n; H++){
		for(int W = 1; W <= n; W++){
			for(int row = 0; row <= n-H;row++){
				for(int col = 0; col <= n-W; col++){
					if(col == 0){
						if(row == 0){
							tmp = 0;
							for(int i = 0; i < H; i++){
								for(int k = 0; k < W; k++)tmp += table[i][k];
							}
							maximum = max(maximum,tmp);
							pre = tmp;
							pre_row = tmp;
						}else{
							for(int i = 0; i < W; i++)pre_row -= table[row-1][i];
							for(int i = 0; i < W; i++)pre_row += table[row+H-1][i];
							maximum = max(maximum,pre_row);
							pre = pre_row;
						}
					}else{
						for(int i = 0; i < H; i++)pre -= table[row+i][col-1];
						for(int i = 0; i < H; i++)pre += table[row+i][col+W-1];
						maximum = max(maximum,pre);
					}
				}
			}
		}
	}

	printf("%d\n",maximum);

	return 0;
}