一群共 $k$ 个朋友进入了一间教室。每个朋友的身高 $h_i$ 是已知的,教室里其他已经就座的学生的身高也是已知的。
教室可以表示为一个 $n \times m$ 的网格 $a$,其中每个单元格对应一个座位。第 $i$ 行第 $j$ 列的座位用 $a_{i,j}$ 表示。对于每个座位,我们知道它是空着的,还是已经被一名学生占用了(以及该学生的身高)。
这 $k$ 个朋友想要在教室里就座。每个朋友恰好占用一个空座位,且任意两个朋友不能坐在同一个座位上。此外,他们希望在同一行中相邻而坐。更具体地说,他们选择一个行索引 $i$(满足 $1 \le i \le n$)和一个列索引 $j$(满足 $1 \le j \le m - k + 1$),并坐在座位 $a_{i,j}, a_{i,j+1}, \dots, a_{i,j+k-1}$ 上。朋友们可以以任意顺序坐在这些座位上,不需要按照他们身高给出的顺序就座。
一个朋友认为某个座位是合适的,当且仅当坐在他正前方(即同列中行索引较小的行)的所有学生都严格矮于他,从而确保他有清晰的视线。如果这群朋友可以调整自己的座位顺序,使得每个朋友都有清晰的视线,那么他们就认为同一行中连续的 $k$ 个座位是合适的一组座位。
考虑到这些条件,教室里有多少组适合这群朋友的座位?
输入格式
第一行包含三个正整数 $n$,$m$ 和 $k$($1 \le n, m \le 2000$,$1 \le k \le m$)——分别表示教室的行数、列数以及朋友的人数。
第二行包含 $k$ 个正整数 $h_1, h_2, \dots, h_k$ ——朋友们的身高。
接下来的 $n$ 行,每行包含 $m$ 个正整数:如果 $a_{i,j} = 0$,表示该座位为空;如果 $a_{i,j} \ge 1$,表示该座位已被一名身高为 $a_{i,j}$($1 \le a_{i,j} \le 10^9$)的学生占用。
输出格式
在第一行也是唯一一行中,输出一个整数——表示在同一行中,有多少组连续的 $k$ 个座位可以安排这群朋友,使得每个人都有清晰的视线。
子任务
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 1 | 11 | $k \le 2$ |
| 2 | 13 | $n, m \le 200$ |
| 3 | 29 | $n, m \le 500$ |
| 4 | 57 | 无附加限制 |
样例
输入样例 1
3 4 2 2 6 0 0 3 1 8 0 0 0 0 0 1 0
输出样例 1
3
输入样例 2
2 4 4 5 2 4 3 1 2 3 4 0 0 0 0
输出样例 2
1
输入样例 3
5 5 3 17 3 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
输出样例 3
15
说明
样例 1 说明
这两个朋友可以坐在第一行的前两个座位、第二行的第二和第三个座位,或者第二行的第三和第四个座位。因此,他们总共可以坐在 $3$ 组不同的座位上。
样例 2 说明
如果这四个朋友按照从矮到高的顺序排列,他们可以坐在仅有的四个可用座位上。
样例 3 说明
这三个朋友可以坐在同一行中的任意三个连续座位上,因为教室里没有其他学生,从而总共产生 $15$ 种合法的就座方案。