#include<bits/stdc++.h>
#define I_Like_Furina_de_Fontaine return
//#define int long long
using namespace std;
int f[60][60][60][60],a[60][60];
signed main() {
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
for(int k=1;k<=n;k++)
for(int l=j+1;l<=m;l++)
{
if(i==k && j==l)
continue;
f[i][j][k][l]=max(max(f[i-1][j][k-1][l],f[i][j-1][k][l-1]),max(f[i-1][j][k-1][l],f[i][j-1][k][l-1]))+a[i][j]+a[k][l];
}
cout<<f[n][m-1][n-1][m]<<endl;
I_Like_Furina_de_Fontaine 0;//别看
}