
import std.stdio, std.conv, std.string, std.algorithm, std.array, std.range;

void main() {
  long ans = long.min;
  long[][] arr;
  long[][] dp = new long[][](t, t);
  int t = readln.chomp.to!(int);
  for(long i = 0; i < t; i++)
    arr ~= (readln.chomp.split(" ").map!(to!(long)).array);
  for(int i = 0; i < t; i++) {
    for(int j = 0; j < t; j++) {
      int sum = 0;
      for(int k = j; k < t; k++) {
        sum += arr[i][k];
        dp[j][k] = max(dp[j][k], 0) + sum;
        if (ans < dp[j][k]) ans = dp[j][k];
      }
    }
  }
  writeln(ans);
}