import sys import math import collections import bisect import itertools import decimal # import numpy as np # sys.setrecursionlimit(10 ** 6) INF = 10 ** 20 MOD = 10 ** 9 + 7 # MOD = 998244353 ni = lambda: int(sys.stdin.readline().rstrip()) ns = lambda: map(int, sys.stdin.readline().rstrip().split()) na = lambda: list(map(int, sys.stdin.readline().rstrip().split())) na1 = lambda: list(map(lambda x: int(x) - 1, sys.stdin.readline().rstrip().split())) # ===CODE=== def main(): n, m = ns() mat = [na() for _ in range(n)] res = [] for i in range(n): tmp = 0 for j in range(m): tmp += mat[i][j] res.append(tmp) start = -1 for i in range(1, n): if res[i] < res[i - 1]: start = i-1 break if start == -1: print(res[-1]) exit(0) ans = res[start] minimum = res[start] flg = 0 # 0:kudari 1:nobori for i in range(start + 1, n): if flg == 0: if res[i] <= minimum: minimum = res[i] else: flg = 1 else: if res[i] >= res[i - 1]: continue else: ans += res[i - 1] - minimum minimum = res[i] flg = 0 if flg == 1: ans += res[-1] - minimum print(ans) if __name__ == '__main__': main()