/*
TASK:apple
LANG:C++
*/
#include<iostream>
#include<stdio.h>
#include<cmath>
using namespace std;
#define MN 10
int n,m,a[MN][MN],t[MN][MN];
long v[MN][MN],v2[MN][MN],br;
int Max(int x,int y)
{
 if(x>y)return x;
 return y;
}
void solve()
{
    int i,j;
    scanf("%ld%ld", &n, &m);
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            cin>>a[i][j];
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            v[i][j]=a[i][j]+Max(v[i][j-1],v[i-1][j]);
        }
    long sb=v[n][m];
    br=sb;
    i=n;j=m;
    while(i!=1||j!=1)
    {
        if(v[i-1][j]==v[i][j]-a[i][j])
        {sb-=a[i][j];a[i][j]=0;i-=1;}
        else
        {sb-=a[i][j];a[i][j]=0;j-=1;}      
    }
    a[i][j]=0;
    //cout<<br<<endl;
     for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            v2[i][j]=a[i][j]+Max(v2[i][j-1],v2[i-1][j]);
        }
    br+=v2[n][m];
    cout<<br<<endl;
}
int main()
{
    solve();
    //system("pause");
    return 0;
    
}
