你有一张网格纸。每列有 $n$ 个网格,每行有 $m$ 个网格。在第 $i$ 行第 $j$ 列的网格中,有一个整数 $a_{i,j}$。对于一张网格纸 $X$,定义 $w(X)$ 为其中所有数字的和。
现在你可以通过以下规则获得分数(你的初始分数为零):
选择一张网格纸 $Y$,沿着一条非边界网格线(相邻两行或两列之间的线,且不是 $Y$ 的边界)将其剪开,此时 $Y$ 变成两张更小的网格纸 $Y_1$ 和 $Y_2$。在此操作中,你可以获得 $w(Y_1) \times w(Y_2)$ 的分数。
你可以进行任意次数(包括零次)上述操作。请尝试最大化你的得分,并输出该最大得分。
输入格式
第一行包含两个正整数 $n$ 和 $m$($1 \le n \times m \le 10^6$)。
接下来的 $n$ 行:在第 $i$ 行中,有 $m$ 个整数 $a_{i,1}, a_{i,2}, \dots, a_{i,m}$。保证 $0 \le a_{i,j} \le 10^3$。
输出格式
输出一个整数,表示最大得分。
样例
输入样例 1
1 2 3 3
输出样例 1
9
输入样例 2
2 2 0 0 0 1000
输出样例 2
0