import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         int m = sc.nextInt();         int n = sc.nextInt();         int[][] m_n = new int[m+1][n+1];         for (int i = 1; i < m+1; i++) {             for (int j = 1; j < n+1; j++) {                 m_n[i][j] = sc.nextInt();             }         }         System.out.println(getResult(m_n,m,n));     }     private static int getResult(int[][] m_n, int m, int n) {         int[][] dp = new int[m+1][n+1];         for (int i = 0; i < n+1; i++) {             dp[1][i] = m_n[1][i];         }         for (int i = 2; i < m+1; i++) {             dp[i][0] = 0;             dp[i][1] = Math.max(m_n[i][1],dp[i-1][1]);             for (int j = 2; j < n+1; j++) {                 dp[i][j] = Math.max(dp[i][j-1]+m_n[i-1][1],m_n[i][j]+m_n[i-1][1]);             }         }         return dp[m][n];     } }