INF = 1<<60 N,M = map(int,input().split()) A = [list(map(int,input().split())) for _ in range(N)] if N == 1: print(0) exit() dp = [[INF] * M for _ in range(N)] val = INF for j in range(M): dp[1][j] = A[0][j] + A[1][j] val = min(val , dp[1][j]) for i in range(2,N): nxt_val = INF for j in range(M): dp[i][j] = min(dp[i-1][j] + A[i][j] , val + A[i-1][j] + A[i][j] ) nxt_val = min(nxt_val,dp[i][j]) val = nxt_val print(min(dp[N-1][:]))