给你三个整数 n
,m
,k
。长度为 n
的 好数组 arr
定义如下:
arr
中每个元素都在 闭 区间 [1, m]
中。k
个下标 i
(其中 1 <= i < n
)满足 arr[i - 1] == arr[i]
。请你返回可以构造出的 好数组 数目。
由于答案可能会很大,请你将它对 109 + 7
取余 后返回。
示例 1:
输入:n = 3, m = 2, k = 1
输出:4
解释:
[1, 1, 2]
,[1, 2, 2]
,[2, 1, 1]
和 [2, 2, 1]
。示例 2:
输入:n = 4, m = 2, k = 2
输出:6
解释:
[1, 1, 1, 2]
,[1, 1, 2, 2]
,[1, 2, 2, 2]
,[2, 1, 1, 1]
,[2, 2, 1, 1]
和 [2, 2, 2, 1]
。示例 3:
输入:n = 5, m = 2, k = 0
输出:2
解释:
[1, 2, 1, 2, 1]
和 [2, 1, 2, 1, 2]
。
提示:
1 <= n <= 105
1 <= m <= 105
0 <= k <= n - 1