#include<bits/stdc++.h>
using namespace std;
int n , m , w[55][55] , dp[110][55][55];
int main()
{
cin >> n >> m;
for (int i = 1;i <= n;i++)
{
for (int j = 1;j <= m;j++)
{
cin >> w[i][j];
}
}
for (int i = 1;i <= n+m;i++)
{
for (int j = 1;j <= n;j++)
{
for (int k = j+1;k <= n;k++)
{
dp[i][j][k] = max(dp[i-1][j-1][k-1],dp[i-1][j][k]);
dp[i][j][k] = max(max(dp[i][j][k],dp[i-1][j-1][k]),dp[i-1][j][k-1]);
dp[i][j][k] += w[j][i-j] + w[k][i-k];
}
}
}
cout << dp[n+m-1][n-1][n];
return 0;
}