﻿/*
Lütfi Altın
*/

#include <stdio.h>

int m,n;
int park[2001][2001];

int max(int a,int b){
  return a>b ? a : b;
}

void coz(){
  int i,j;
  for(i=n-1;i>=0;i--){
    for(j=m-1;j>=0;j--){
      park[i][j] = park[i][j] + max(park[i][j+1],park[i+1][j]);
    } 
  }
}

int main(){
  freopen("park.gir","r",stdin);
  freopen("park.cik","w",stdout);
  
  int i,j;
  scanf("%d %d",&n,&m);
  for(i=0;i<n;i++){
    for(j=0;j<m;j++){
      scanf("%d",&park[i][j]);
    }
  }
  
  coz();
  printf("%d",park[0][0]);
  
  return 0;
}
