这是一个春光明媚的春日,你即将见到你的挚友兼前犯罪搭档帕特里克(Patrick)。帕特里克因为在编程竞赛中赌博输光了大部分钱,所以他需要再干一票。尽管你已经退出了犯罪生涯,但他还是需要你的帮助。起初你很抗拒,因为你不想再回到以前的犯罪道路上,但你觉得听听他的计划也无妨。
附近的一个仓库里有一批昂贵的消费级小工具,帕特里克打算尽可能多地偷走它们。这需要找到进入大楼的方法、制服保安、穿过各种激光束阵列——你知道的,这些都是常规的盗窃手段。然而,仓库的核心区域配备了一个帕特里克无法关闭的安全系统。这就是他需要你帮助的地方。
这批货物存放在巨大的立方体板条箱中,它们的大小完全相同。板条箱堆叠成整齐的堆,形成一个三维网格。安全系统每小时使用三台摄像机拍摄一次这些堆:前视摄像机、侧视摄像机和顶视摄像机。前视摄像机的图像显示了每一列中最高堆的高度,侧视摄像机的图像显示了每一行中最高堆的高度,而顶视摄像机的图像显示了每一堆是否为空。如果安全系统检测到任何图像发生变化,它就会发出警报。
一旦帕特里克进入内部,他将确定这些堆的高度并发送给你。图 C.1 展示了网格的一种可能布局以及每台摄像机的视图。
图 C.1:高度网格及相应的摄像机视图。
图 C.2:盗窃后可能的高度网格
帕特里克想尽可能多地偷走板条箱。由于他无法关闭安全系统,他计划通过重新排列剩余的板条箱,使得下一组摄像机图像保持不变来欺骗系统。在上面的例子中,可以偷走九个板条箱。图 C.2 展示了盗窃后的一种可能配置,它在安全系统看来是完全一样的。
帕特里克请求你帮助他确定在留下能欺骗安全系统的板条箱配置的同时,最多可以偷走多少个板条箱。你会帮他完成这最后的一票吗?
输入格式
第一行包含两个整数 $r$ ($1 \le r \le 100$) 和 $c$ ($1 \le c \le 100$),分别表示网格的行数和列数。接下来的 $r$ 行,每行包含 $c$ 个整数,表示对应行中各堆的高度(以板条箱数量计)。所有高度均在 $0$ 到 $10^9$ 之间(含 $0$ 和 $10^9$)。
输出格式
输出在不被发现的情况下最多可以偷走的板条箱数量。
样例
样例输入 1
5 5 1 4 0 5 2 2 1 2 0 1 0 2 3 4 4 0 3 0 3 1 1 2 2 1 1
样例输出 1
9
样例输入 2
2 3 50 20 3 20 10 3
样例输出 2
30