#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")