谢里夫理工大学(Sharif University)有一个 $n \times m$ 车位的矩形停车场。停车场的每行和每列的两端都有入口。
整个停车场已满,每个车位上给出了车辆进入的顺序。具体来说,标有数字 $1$ 的单元格是第一辆进入停车场的车,标有数字 $n \cdot m$ 的单元格是最后一辆进入的车。
Abolfazl 对汽车在停车场中的停放方式有一个理论。他认为,任何从特定方向(行或列的某一端)进入停车场的车都会直行,直到找到自己的车位,并且绝不改变方向。此外,车辆不能穿过已经停有车辆的单元格。
Abolfazl 想要计算停车场中满足该条件的子网格数量。如果一个子网格中的所有车辆在仅考虑该子网格内的车辆时,能够不违反上述规则地停放,则该子网格是有效的。
请帮助 Abolfazl 确定这种有效子网格的数量。
输入格式
输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 500$),表示停车场的行数和列数。
接下来的 $n$ 行,每行包含 $m$ 个整数,表示车辆进入的顺序。保证这些数字是 $1$ 到 $n \cdot m$ 之间的互不相同的整数。
输出格式
输出一个整数,表示停车场中有效子网格的数量。
样例
输入样例 1
2 3 1 2 5 3 4 6
输出样例 1
18