#include<bits/stdc++.h>
using namespace std;
long long n,m,ans;
long long a[1005][1005];
bool b[1005][1005];
long long dx[3]= {1,0,-1};
long long dy[3]= {0,1,0};
void f(long long x,long long y,long long s) {
if(x==n&&y==m) {
if(s>ans) ans=s;
return ;
}
for(long long i=0; i<3; i++) {
long long nx=x+dx[i];
long long ny=y+dy[i];
if(!b[nx][ny]&&nx>0&&ny>0&&nx<=n&&ny<=m) {
b[nx][ny]=1;
f(nx,ny,s+a[nx][ny]);
b[nx][ny]=0;
}
}
}
int main() {
scanf("%lld%lld",&n,&m);
for(long long i=1; i<=n; i++)
for(long long j=1; j<=m; j++)
scanf("%lld",&a[i][j]);
ans=-2147483647;
f(1,1,a[1][1]);
printf("%lld",ans);
return 0;
}