/*
TASK:apple
LANG:C++
*/

#include <iostream>
using namespace std;
int max(int x, int y){
    if (x>y) return x;
    else return y;
}
int main() {
    int m,n;
    int a[70][70],b[70][70],c[70][70];
    cin>>m>>n;
    for (int i=0; i<m; i++){
        for (int j=0; j<n; j++){
            cin>>a[i][j];
            b[i][j]=a[i][j];
            c[i][j]=b[i][j];
        }
    }
    for (int i=1; i<m; i++)
        b[i][0]=b[i-1][0]+b[i][0];
    for (int j=1; j<n; j++)
        b[0][j]=b[0][j-1]+b[0][j]; 
    for (int i=1; i<m; i++)
        for (int j=1; j<n; j++)
            b[i][j]=b[i][j]+max(b[i-1][j],b[i][j-1]);
    int s;
    s=b[m-1][n-1];
    int x=m-1; 
    int y=n-1;
    for (int i=0; i<m+n-1; i++){
        c[x][y]=0;
        if (max(b[x-1][y],b[x][y-1])==b[x-1][y]) x=x-1;
        else y=y-1;
    }
    for (int i=1; i<m; i++)
        c[i][0]=c[i-1][0]+c[i][0];
    for (int j=1; j<n; j++)
        c[0][j]=c[0][j-1]+c[0][j];     
    for (int i=1; i<m; i++)
        for (int j=1; j<n; j++){
            c[i][j]=c[i][j]+max(c[i-1][j],c[i][j-1]);}
    s=s+c[m-1][n-1];
    cout<<s;
}
