#include<bits/stdc++.h>
using namespace std;
inline int read()
{
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
inline void write(int x)
{
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
int n,a[1001][1001],sum[100001],sum1,sum2,ans1,ans2,ans;
int main()
{
freopen("pacman.in","r",stdin);
freopen("pacman.out","w",stdout);
n=read();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
a[i][j]=read();
}
}
int i=1,j=1;
while(i<=n&&j<=n)
{
sum1+=a[i][j];
i++;
j++;
}
i=n;
j=n;
while(i>=1&&j>=1)
{
sum2+=a[i][j];
i--;
j--;
}
ans1=max(sum2,sum1);
for(int k=2;k<=n-1;k++)
{
int i=1,j=k;
while(i<=n&&j<=n)
{
sum[k]+=a[i][j];
i++;
j++;
}
i--,j--;
sum[k]-=a[i][j];
while(i<=n&&j>=1)
{
sum[k]+=a[i][j];
i++;
j--;
}
j++;
i--;
sum[k]-=a[i][j];
while(i>=1&&j>=1)
{
sum[k]+=a[i][j];
i--;
j--;
}
i++;
j++;
sum[k]-=a[i][j];
while(i>1&&j<=n)
{
sum[k]+=a[i][j];
i--;
j++;
}
}
sort(sum+2,sum+n,greater<int>());
cout<<sum[2]+max(sum[3],ans1);
}
/*
4
20 1 19 2
3 18 4 17
16 5 15 6
7 14 8 13
*/
哪几个点重复了啊?调了好久都不知道