#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int n,m,a[N][N],dp[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];
}
}
for(int i=2;i<=n;i++){
dp[i][0]=-1e9;
}
for(int i=2;i<=m;i++){
dp[0][i]=-1e9;
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
dp[j][i]=max(dp[j-1][i]+a[j][i],dp[j][i-1]+a[j][i]);
if(j!=n){
dp[j][i]=max(dp[j][i],dp[j+1][i-1]+a[j+1][i]);
}
}
}
cout<<dp[n][m];
return 0;
}