#include <iostream>
using namespace std;

const int INF = 1e+8;
int n, a[110][110] = {0};

// [x1, x2] && [y1, y2] の領域の和を返す
int sum(int x1, int y1, int x2, int y2){
	return a[y1][x1] - a[y1][x2 + 1] - a[y2 + 1][x1] + a[y2 + 1][x2 + 1];
}

// 累積和化
void init(){
	for(int y = 0; y < n; y++){
		for(int x = n - 1; x >= 0; x--){
			a[y][x] += a[y][x+1];
		}
	}
	for(int y = n - 1; y >= 0; y--){
		for(int x = 0; x < n; x++){
			a[y][x] += a[y+1][x];
		}
	}
}

int main(){
	cin >> n;
	for(int y = 0; y < n; y++){
		for(int x = 0; x < n; x++){
			cin >> a[y][x];
		}
	}
	init();
	int ans = -INF;
	for(int y1 = 0; y1 < n; y1++){
		for(int x1 = 0; x1 < n; x1++){
			for(int y2 = y1; y2 < n; y2++){
				for(int x2 = x1; x2 < n; x2++){
					ans = max(ans, sum(x1, y1, x2, y2));
				}
			}
		}
	}
	cout << ans << endl;
}