#include <iostream>
#include <vector>
using namespace std;

int main() {
    int a, b;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        vector<vector<int>> arr(a,vector(b,0));
        for(int i=0;i<a;i++){
            for(int j=0;j<b;j++){
                cin>>arr[i][j];
            }
        }
        vector<vector<int>> dp(a,vector(b,0));
        dp[0][0]=arr[0][0];
        for(int i=1;i<a;i++){
            dp[i][0]=dp[i-1][0]+arr[i][0];
        }
        for(int j=1;j<a;j++){
            dp[0][j]=dp[0][j-1]+arr[0][j];
        }
        for(int i=1;i<a;i++){
            for(int j=1;j<b;j++){
                dp[i][j]=min(dp[i-1][j],dp[i][j-1])+arr[i][j];
            }
        }
        std::cout<<dp[a-1][b-1];
        return 0;
    }
}
// 64 位输出请用 printf("%lld")