http://acm.nyist.net/JudgeOnline/problem.php?pid=171
/*
* 思路:dp[i][j] += max(dp[i-1][j],dp[i][j-]) 对于位置(i,j)有两个选择,可能是在上面(i-1,j)走来的,
* 也可能是从左边(i,j-1)走来的,那么选一个最大的满足题意,直到到达位置(n,m)那么吃的虫子必定是最多的了。
* */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class nyoj171 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String data[] = br.readLine().split(" ");
int n = Integer.parseInt(data[0]), m = Integer.parseInt(data[1]);
int[][] arr = new int[n + 1][m + 1];
for (int i = 1; i <= n; i++) {
String in[] = br.readLine().split(" ");
for (int j = 1; j <= m; j++)
arr[i][j] = Integer.parseInt(in[j - 1]) + Math.max(arr[i - 1][j], arr[i][j - 1]);
}
System.out.println(arr[n][m]);
}
}