#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N=1e3+3,inf=1145140000;
int a[N][N],f[N][N];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) {
cin>>a[i][j];
f[i][j]=-inf;
}
for(int j=1;j<=m;j++)
for(int i=max(n/2-j,1);i<=min(n/2+j,n);i++){
f[i][j]=max(f[i][j],f[i][j-1]+a[i][j]);
if(i>1) f[i][j]=max(f[i][j],f[i-1][j-1]+a[i][j]);
if(i<n) f[i][j]=max(f[i][j],f[i+1][j-1]+a[i][j]);
}
int ans=-inf;
for(int i=1;i<=n;i++) ans=max(ans,f[i][m]);
cout<<ans;
return 0;
}