310469: CF1838E. Count Supersequences

Memory Limit:256 MB Time Limit:3 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

E. Count Supersequencestime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

You are given an array $a$ of $n$ integers, where all elements $a_i$ lie in the range $[1, k]$. How many different arrays $b$ of $m$ integers, where all elements $b_i$ lie in the range $[1, k]$, contain $a$ as a subsequence? Two arrays are considered different if they differ in at least one position.

A sequence $x$ is a subsequence of a sequence $y$ if $x$ can be obtained from $y$ by the deletion of several (possibly, zero or all) elements.

Since the answer may be large, print it modulo $10^9 + 7$.

Input

The first line of the input contains a single integer $t$ ($1 \le t \le 10^4$) — the number of test cases. The description of the test cases follows.

The first line of each test case contains three integers $n$, $m$, $k$ ($1 \le n \le 2\cdot 10^5$, $n \le m \le 10^9$, $1 \le k \le 10^9$) — the size of $a$, the size of $b$, and the maximum value allowed in the arrays, respectively.

The next line of each test case contains $n$ integers $a_1, a_2, \ldots a_n$ ($1\le a_i \le k$) — the elements of the array $a$.

It is guaranteed that the sum of $n$ over all test cases does not exceed $2\cdot 10^5$.

Output

For each test case, output a single integer — the number of suitable arrays $b$, modulo $10^9+7$.

ExampleInput
7
1 1000000 1
1
3 4 3
1 2 2
5 7 8
1 2 3 4 1
6 6 18
18 2 2 5 2 16
1 10 2
1
8 10 1234567
1 1 2 1 2 2 2 1
5 1000000000 1000000000
525785549 816356460 108064697 194447117 725595511
Output
1
9
1079
1
1023
906241579
232432822
Note

For the first example, since $k=1$, there is only one array of size $m$ consisting of the integers $[1, k]$. This array ($[1, 1, \ldots, 1]$) contains the original array as a subsequence, so the answer is 1.

For the second example, the $9$ arrays are $[1, 1, 2, 2]$, $[1, 2, 1, 2]$, $[1, 2, 2, 1]$, $[1, 2, 2, 2]$, $[1, 2, 2, 3]$, $[1, 2, 3, 2]$, $[1, 3, 2, 2]$, $[2, 1, 2, 2]$, $[3, 1, 2, 2]$.

For the fourth example, since $m=n$, the only array of size $m$ that contains $a$ as a subsequence is $a$ itself.

Input

题意翻译

给定一个长为 $n$ 的序列 $a$,$\forall i\in[1,n],a_i\in[1,k]$,有序列 $b$,满足 $a$ 是 $b$ 的子序列且 $b$ 的长度为 $m$ 求满足条件的 $b$ 数组个数

Output

题目大意:计算包含特定子序列的不同数组的数量。

输入数据格式:
- 第1行:一个整数 t(1 ≤ t ≤ 10^4),表示测试用例的数量。
- 每个测试用例的输入格式如下:
- 第1行:三个整数 n, m, k(1 ≤ n ≤ 2·10^5, n ≤ m ≤ 10^9, 1 ≤ k ≤ 10^9),分别表示数组 a 的大小、数组 b 的大小和数组中允许的最大值。
- 第2行:n 个整数 a_1, a_2, …, a_n(1 ≤ a_i ≤ k),表示数组 a 的元素。

输出数据格式:
- 对于每个测试用例,输出一个整数,表示满足条件的数组 b 的数量,结果对 10^9 + 7 取模。

请注意,由于输入限制,测试用例中 n 的总和不超过 2·10^5。

公式(使用 LaTeX 格式):
- 输入:t, n, m, k, a_1, a_2, …, a_n
- 输出:\left( \sum_{i=1}^{t} \text{count}(a_i, m, k) \right) \mod (10^9 + 7)

其中 \text{count}(a_i, m, k) 表示对于给定的 a_i,m 和 k,满足条件的数组 b 的数量。题目大意:计算包含特定子序列的不同数组的数量。 输入数据格式: - 第1行:一个整数 t(1 ≤ t ≤ 10^4),表示测试用例的数量。 - 每个测试用例的输入格式如下: - 第1行:三个整数 n, m, k(1 ≤ n ≤ 2·10^5, n ≤ m ≤ 10^9, 1 ≤ k ≤ 10^9),分别表示数组 a 的大小、数组 b 的大小和数组中允许的最大值。 - 第2行:n 个整数 a_1, a_2, …, a_n(1 ≤ a_i ≤ k),表示数组 a 的元素。 输出数据格式: - 对于每个测试用例,输出一个整数,表示满足条件的数组 b 的数量,结果对 10^9 + 7 取模。 请注意,由于输入限制,测试用例中 n 的总和不超过 2·10^5。 公式(使用 LaTeX 格式): - 输入:t, n, m, k, a_1, a_2, …, a_n - 输出:\left( \sum_{i=1}^{t} \text{count}(a_i, m, k) \right) \mod (10^9 + 7) 其中 \text{count}(a_i, m, k) 表示对于给定的 a_i,m 和 k,满足条件的数组 b 的数量。

加入题单

上一题 下一题 算法标签: