#include <iostream>
using namespace std;

int main() {
    int n;
    while (cin >> n) {
        int prev_max[100][100] = {{0}};
        int ans = -100000;
        for (int i = 0; i < n; i++) {
            int sum[101] = {0};
            for (int j = 0; j < n; j++) {
                int x;
                cin >> x;
                sum[j + 1] = sum[j] + x;
            }
            for (int j = 0; j < n; j++) {
                for (int k = j; k < n; k++) {
                    // j列からk列までを考える
                    // sum[k + 1] - sum[j] == (i行目のj列からk列までの和)
                    // 0 => 前までの行は使わない場合
                    // prev_max[j][k] => 前までの行の最大値を使った場合
                    prev_max[j][k] = max(0, prev_max[j][k]) + sum[k + 1] - sum[j];
                    ans = max(ans, prev_max[j][k]);
                }
            }
        }
        cout << ans << endl;
    }
    return 0;
}