Zag 有一个装满甜点的盒子。这个盒子由 $n \times m$ 的网格组成,第 $i$ 行第 $j$ 列的网格中包含 $a_{i,j}$ 个甜点。为了防止他的朋友 Reb 偷吃他的甜点,Zag 每天都会检查他的甜点盒。
然而,Reb 最近发现 Zag 在检查甜点盒时似乎并没有那么仔细。具体来说,当 Zag 检查甜点盒时,他只会检查两件事:
- 昨天包含甜点的网格现在是否仍然包含甜点。
- 每一行和每一列的甜点最大值是否保持不变。
如果 Zag 发现这两个条件都满足,他就会认为 Reb 没有偷吃他的甜点。
因此,Reb 想知道在不被 Zag 发现的情况下,他最多可以偷走多少个甜点。
请注意,Reb 不仅可以从某些网格中偷走甜点,还可以重新排列甜点以确保 Zag 不会发现。这意味着 Reb 可以多次将一些甜点从一个网格移动到另一个网格。
输入格式
第一行包含两个整数 $n, m$ ($1 \le n, m \le 100$),分别表示行数和列数。
接下来的 $n$ 行,每行包含 $m$ 个整数,每个整数表示 $a_{i,j}$ ($0 \le a_{i,j} \le 10^9$)。
输出格式
输出一个整数,表示 Reb 最多可以偷走的甜点数量。
样例
输入样例 1
5 5 2 3 0 0 2 1 0 7 2 1 5 3 5 2 2 1 3 0 1 2 5 2 5 0 2
输出样例 1
16
输入样例 2
3 2 30 20 20 10 8 8
输出样例 2
35