def main(): from sys import stdin, setrecursionlimit # setrecursionlimit(1000000) input = stdin.readline def iinput(): return int(input()) def sinput(): return input().rstrip() def i0input(): return int(input()) - 1 def linput(): return list(input().split()) def liinput(): return list(map(int, input().split())) def miinput(): return map(int, input().split()) def li0input(): return list(map(lambda x: int(x) - 1, input().split())) def mi0input(): return map(lambda x: int(x) - 1, input().split()) INF = 1000000000000000000 MOD = 1000000007 N, M = miinput() A = [] for _ in [0] * N: A.append(liinput()) if N == 1: print(0) return dp = [INF] * N dp[0] = 0 for i in range(1, N): for j in range(M): A[i][j] += A[i-1][j] dp[i] = min(dp[i], A[i][j]) for k in range(i-1): dp[i] = min(dp[k+1] + A[i][j] - A[k][j], dp[i]) print(dp[-1]) main()