/*
TASK: apple
LANG: C
*/

#include<stdio.h>

int masiv[73][73] = {0};
int p1t[73][73][3] = {0};

long br = 0;

int main()
{
    int m, n, i, j, k, l, p;
    
    scanf("%d %d", &m, &n);
    
    for(i = 1; i <= m; i++)
    {
          for(j = 1; j <= n; j++)
          {
                scanf("%d", &masiv[i][j]);
          }
    }
    
    for(i = 1; i <= m; i++)
    {
          for(j = 1; j <= n; j++)
          {
                p1t[i][j][0] = masiv[i][j];
          }
    }
    
    for(i = 1; i <= m; i++)
    {
          for(j = 1; j <= n; j++)
          {
                if(p1t[i-1][j][0] > p1t[i][j-1][0]) {p1t[i][j][0] = p1t[i-1][j][0] + p1t[i][j][0]; p1t[i][j][1] = i-1; p1t[i][j][2] = j;}
                if(p1t[i-1][j][0] <= p1t[i][j-1][0]) {p1t[i][j][0] = p1t[i][j-1][0] + p1t[i][j][0]; p1t[i][j][1] = i; p1t[i][j][2] = j-1;}    
          }
    }
        
    br = br + p1t[m][n][0];
    
    masiv[m][n] = 0;
    
    k = p1t[m][n][1];
    l = p1t[m][n][2];
    
    for(;;)
    {
            masiv[k][l] = 0;
            if(k == 1 && l == 1) break;
            p = k;
            k = p1t[k][l][1];
            l = p1t[p][l][2];
    }
    
    for(i = 1; i <= m; i++)
    {
          for(j = 1; j <= n; j++)
          {
                if(masiv[i-1][j] > masiv[i][j-1]) masiv[i][j] = masiv[i-1][j] + masiv[i][j];
                else masiv[i][j] = masiv[i][j-1] + masiv[i][j];    
          }
    }
    
    br = br + masiv[m][n];
    
    printf("%ld\n", br);
    
    return 0;
}



