1 #include <cstdio>
2 #include <cstring>
3 #include <algorithm>
4 using namespace std;
5 #define Maxx 2147483647
6 int dp[1000][1000],f[100000];
7 int main()
8 {
9 int n,ans=-Maxx;
10 scanf("%d",&n);
11 for(int i=1;i<=n;i++)
12 for(int j=1;j<=n;j++)
13 {
14 scanf("%d",&dp[i][j]);
15 dp[i][j]+=dp[i-1][j];
16 }
17 for(int i=1;i<=n;i++)
18 {
19 for(int j=i;j<=n;j++)
20 {
21 memset(f,0,sizeof f);
22 int temp1=-Maxx;
23 for(int k=1;k<=n;k++)
24 {
25 int temp=dp[j][k]-dp[i-1][k];
26 f[k]=max(temp,f[k-1]+temp);
27 temp1=max(temp1,f[k]);
28 }
29 ans=max(temp1,ans);
30 }
31 }
32 printf("%d",ans);
33 return 0;
34 }