给你三个整数 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 <= 1051 <= m <= 1050 <= k <= n - 1