/*
TASK: apple
LANG: C++
*/
#include <stdio.h>
#define MAXN 128

int n, m;
unsigned long a[MAXN][MAXN], p[MAXN][MAXN];
unsigned long dp1[MAXN][MAXN], dp2[MAXN][MAXN];
unsigned long ans = 0;

void input()
{ int i, j;

  scanf("%d %d", &n, &m);
  for(i=0; i<n; i++)
   for(j=0; j<m; j++)
            scanf("%lu", &a[i][j]);
 return;
}

void solve()
{ int i, j;

   dp1[0][0] = a[0][0];
   for(i=1; i<m; i++) {
            dp1[0][i] = (dp1[0][i-1] + a[0][i]);
            p[0][i] = 1;
   }
   for(i=1; i<n; i++) {
            dp1[i][0] = (dp1[i-1][0] + a[i][0]);
            p[i][0] = 2;
   }
   for(i=1; i<n; i++) {
    for(j=1; j<m; j++) {
             //otgore
             if((dp1[i-1][j] + a[i][j]) > (dp1[i][j-1] + a[i][j])) {
                             dp1[i][j] = (dp1[i-1][j] + a[i][j]);
                             p[i][j] = 2;
             } //otlevo
             else {
                  dp1[i][j] = (dp1[i][j-1] + a[i][j]);
                  p[i][j] = 1;
             }
    }
   }
   ans += dp1[n-1][m-1];
   i = n-1; j = m-1;
   while(p[i][j]) {
                  a[i][j] = 0;
                  if(p[i][j] == 1) {
                             j = j-1;
                  }
                   else {
                        i = i-1;
                   }
   }
   a[i][j] = 0;
   //////////////////
   dp2[0][0] = a[0][0];
   for(i=1; i<m; i++) {
            dp2[0][i] = (dp2[0][i-1] + a[0][i]);
            p[0][i] = 1;
   }
   for(i=1; i<n; i++) {
            dp2[i][0] = (dp2[i-1][0] + a[0][i]);
            p[i][0] = (2);
   }
   for(i=1; i<n; i++) {
    for(j=1; j<m; j++) {
             //otgore
             if((dp2[i-1][j] + a[i][j]) > (dp2[i][j-1] + a[i][j])) {
                             dp2[i][j] = (dp2[i-1][j] + a[i][j]);
                             p[i][j] = 2;
             } //otlevo
             else {
                  dp2[i][j] = (dp2[i][j-1] + a[i][j]);
                  p[i][j] = 1;
             }
    }
   }
   ans += dp2[n-1][m-1];
   printf("%lu\n", ans);
 return;
}

int main()
{
//  freopen("temp.in", "rt", stdin);
//  freopen("temp.out", "wt", stdout);
  input();
  solve();
 return 0;
}

