/*
TASK:apple
LANG:C
*/

#include<stdio.h>
 int a[72][72],n,m;

 int F();

 int main()
 {
  int i,j;
  scanf("%d %d",&n,&m);
  for(i=0;i<n;i++)
   for(j=0;j<m;j++)
    scanf("%d",&a[i][j]);
  i=F();

  printf("%d\n",i);
  scanf("%d %d",&n,&m);
  return 0;
 }

 int F()
 {
  int b[72][72],i,j,r=0,c[72][72];
  char path[72][72];
  for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
    {c[i][j]=b[i][j]=a[i-1][j-1];
    path[i][j]=2;}
  for(i=0;i<=n;i++)
   a[i][0]=0;
  for(i=0;i<=m;i++)
   a[0][i]=0;
  for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
    if(b[i-1][j]<b[i][j-1]){b[i][j]+=b[i][j-1]; path[i][j]=0;}
    else{
     if(b[i-1][j]>b[i][j-1]){b[i][j]+=b[i-1][j]; path[i][j]=1;}
      else {b[i][j]+=b[i-1][j]; path[i][j]=2;}
    }
  r=b[n][m];
  i=n; j=m;
  while(path[i][j]!=2)
  {
   if(path[i][j]==1){c[i][j]=0; i--;}
   else {c[i][j]=0; j--;}
  }
  c[i][j]=0;
  for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
    if(c[i-1][j]<c[i][j-1]){c[i][j]+=c[i][j-1];}
    else{
     if(c[i-1][j]>c[i][j-1]){c[i][j]+=c[i-1][j];}
      else {c[i][j]+=c[i-1][j];}
    }
  r+=c[n][m];
  return r;
 }
