#import<bits/stdc++.h>
using namespace std;
short n,m,a[50][50],ans;
bool vis[50][50]={true};
bool in(int x,int y){
return x<n&&y<m&&vis[x][y];
}
void dfs(int x,int y,int op,short sum){
if(op==0){
sum+=a[x][y];
vis[x][y]=false;
if(x==n-1&&y==m-1){
if(sum>=ans){
ans=sum;
dfs(x,y,1,sum);
}
return;
}
if(in(x+1,y))
dfs(x+1,y,0,sum);
if(in(x,y+1))
dfs(x,y+1,0,sum);
}
else{
cout<<1;
sum+=a[x][y];
vis[x][y]=false;
if(x==0&&y==0){
if(sum>=ans){
ans=sum;
}
return;
}
if(in(x-1,y))
dfs(x-1,y,1,sum);
if(in(x,y-1))
dfs(x,y-1,1,sum);
}
}
int main(){
scanf("%hd%hd",&n,&m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
scanf("%hd",&a[i][j]);
dfs(0,0,0,0);
printf("%hd",ans);
}