/*
TASK:apple
LANG:C++
*/
#include<iostream>
#include<stdio.h>

using namespace std;
struct qw{int x;int y;} Q[10000];
int M[101][101],n,m,br;
int V[101][101];
void vhod()
{cin>>m>>n;
 for(int i=1;i<=m;i++)
   for(int j=1;j<=n;j++)
     cin>>M[i][j];
}
void solve()
{int f=0,l=-1;
 Q[++l].x=1;
 Q[l].y=1;
 Q[++l].x=1;
 Q[l].y=1;
 br=M[1][1];
 while(f<=l)
 {qw a=Q[f++];
  if((M[a.x+1][a.y]>M[a.x][a.y+1]||M[a.x+1][a.y]==M[a.x][a.y+1])&&!V[a.x+1][a.y])
    {V[a.x+1][a.y]=1;
     Q[++l].x=a.x+1;
     Q[l].y=a.y;
     br+=M[a.x+1][a.y];
    }
     else if(V[a.x][a.y+1]==0)
      {V[a.x][a.y+1]=1;
       Q[++l].x=a.x;
       Q[l].y=a.y+1;
       br+=M[a.x][a.y+1];
      }
  }
 cout<<br<<"\n";
}    
void init()
{for(int i=1;i<=m+1;i++)
  V[i][0]=V[i][n+1]=1;
 for(int j=1;j<=n+1;j++)
  V[0][j]=V[m+1][j]=1; 
}
int main()
{
 vhod();
 init();
 solve();
}           
     
 
