Logo Universal Online Judge

UOJ

时间限制:5 s 空间限制:32 MB
统计

题目描述

如图,给定一个由 $n$ 列组成的表格,每一列的底部都是对齐的。

你需要再里面填入 $k$ 个相同的数。但不得有任意两个数在同一行或者同一列。

比如,上图中 b 的填写就是不合法的;因为两个 b 在同一列上。但 a 的填写是合法的,因为这两个 a 虽然在同一行,但是中间断开了,所以不算做非法。

请求出填写的方案总数 $\bmod\ 10^9+7$ 的结果。

输入格式

输入第一行两个整数 $n,k$,表示表格的列数和相同数字的数量。

第二行包含 $n$ 个整数,第 $i$ 个整数表示从左至右第 $i$ 列的层数。

输出格式

输出一行一个整数,表示方案总数 $\bmod\ 10^9+7$ 的结果。

样例 #1

样例输入 #1

3 3
2 1 3

样例输出 #1

2

样例 #2

样例输入 #2

4 1
1 2 3 4

样例输出 #2

10

样例 #3

样例输入 #3

5 2
2 3 1 2 4

样例输出 #3

43

样例 #4

样例输入 #4

3 2
999999 999999 999999

样例输出 #4

990979013

提示

数据规模与约定

  • 对于 $40\%$ 的数据,输入的数字都小于 $15$;
  • 对于 $70\%$ 的数据,输入的数字都小于 $100$;
  • 对于 $100\%$ 的数据,$1\le n,k\le 500$,层高不会超过 $10^6$。