#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
using ll = long long;
using ld = long double;
using mint = modint998244353;

int N, M, A[1010][1010];
ll dp[1010][1010];

int main() {
  cin >> N >> M;
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < M; j++) cin >> A[i][j];
  }
  if (N == 1) {
    cout << 0 << endl;
    return 0;
  }
  for (int i = 0; i <= N; i++) {
    for (int j = 0; j < M; j++) dp[i][j] = 1e18;
  }
  for (int j = 0; j < M; j++) dp[0][j] = 0;
  for (int i = 0; i < N; i++) {
    ll m = *min_element(dp[i], dp[i] + M);
    for (int j = 0; j < M; j++) {
      if (dp[i][j] == m) {
        dp[i + 1][j] = m + A[i][j];
      } else {
        dp[i + 1][j] = min(m + A[i][j] + (i >= 1 ? A[i - 1][j]: 0), dp[i][j] + A[i][j]);
      }
    }
  }
  //for (int i = 0; i <= N; i++) for (int j = 0; j < M; j++) cout << dp[i][j] << " \n"[j == M - 1];
  cout << *min_element(dp[N], dp[N] + M) << endl;
  return 0;
}