N, M = map(int, input().split()) # M教科の最大値を管理 max_score = [0] * M # 最大値を記録したメンバを管理 members = [list() for _ in range(M)] # 各メンバが一位になっている科目数 no1_param_cnt = [0] * N redundancy = 0 for i in range(N): r = list(map(int, input().split())) cnt = 0 for j in range(M): score = r[j] if score > max_score[j]: # 最大値を更新 cnt += 1 # 今まで最大値だったやつらを蹴り出す while members[j]: target = members[j].pop() no1_param_cnt[target] -= 1 # 1 --> 0 の変化以外は、redun が減る if no1_param_cnt[target] != 0: redundancy -= 1 members[j].append(i) max_score[j] = score elif score == max_score[j]: members[j].append(i) # メンバiも仲間入り cnt += 1 no1_param_cnt[i] = cnt if cnt >= 2: redundancy += cnt - 1 # ∑各科目の1位の人数 - redundancy ans = 0 for j in range(M): ans += len(members[j]) ans -= redundancy print(ans)