#P16070. [2022国家队训练南京站]好子矩阵

[2022国家队训练南京站]好子矩阵

题目描述

小 T 有一个 n×mn\times m 的矩阵 AAAA 中的元素互不相同,可以构成一个 1nm1\sim nm 的排列。

如果一个序列是升序或者降序的,则称这个序列是好的。如果一个矩阵的每一行是好的,每一列也是好的,则称这个矩阵是好的。

求有多少个 AA 的非空子矩阵是好的。

一个矩阵的非空子矩阵是指:选出行的一个非空子集与列的一个非空子集,由同时位于这些行和这些列的元素排成的新矩阵。可以发现,一个 n×mn\times m 的矩阵的非空子矩阵数为 (2n1)(2m1)(2^n-1)(2^m-1)

输入格式

第一行两个整数 n,mn,m,表示矩阵大小。

接下来 nn 行,每行 mm 个整数 Ai,jA_{i,j},表示矩阵 AA 的元素。

输出格式

输出一行一个整数,表示答案。

样例 1

输入

2 2
1 3
2 4

输出

9

样例 2

输入

2 3
2 3 1
4 5 6

输出

19

样例 3

输入

3 4
4 5 10 8
9 6 3 2
11 7 12 1

输出

79

样例解释

样例 1 中所有子矩阵均满足要求。

样例 2 中只有子矩阵为整个矩阵,或第一行的所有数时不满足要求。

数据范围

对于所有数据:

  • 1n,m201\le n,m\le 20
  • 1Ai,jnm1\le A_{i,j}\le nm
  • 保证所有 Ai,jA_{i,j} 互不相同。

子任务:

子任务 分值 限制
1 20 n,m10n,m\le 10
2 25 n,m15n,m\le 15
3 n,m18n,m\le 18
4 30 无特殊限制