Neko Rules the Catniverse (Large Version)

题意翻译

给定参数 $n,k,m$,你需要求有多少个大小为 $k$ 的序列 $a$ 满足如下三个条件: 1. 任意两个元素其权值不同。 2. 对于任意 $i$ 满足 $1\le i\le k$ 有 $1\le a_i\le n$。 3. 对于任意 $i$ 满足 $2\le i\le k$ 有 $a_i\le a_{i-1}+m$。 答案对 $10^9+7$ 取模。 数据范围: $1\le n\le 10^9$,$1\le k\le \min(n,12)$,$1\le m\le 4$。 translated by Soulist

题目描述

This problem is same as the previous one, but has larger constraints. Aki is playing a new video game. In the video game, he will control Neko, the giant cat, to fly between planets in the Catniverse. There are $ n $ planets in the Catniverse, numbered from $ 1 $ to $ n $ . At the beginning of the game, Aki chooses the planet where Neko is initially located. Then Aki performs $ k - 1 $ moves, where in each move Neko is moved from the current planet $ x $ to some other planet $ y $ such that: - Planet $ y $ is not visited yet. - $ 1 \leq y \leq x + m $ (where $ m $ is a fixed constant given in the input) This way, Neko will visit exactly $ k $ different planets. Two ways of visiting planets are called different if there is some index $ i $ such that, the $ i $ -th planet visited in the first way is different from the $ i $ -th planet visited in the second way. What is the total number of ways to visit $ k $ planets this way? Since the answer can be quite large, print it modulo $ 10^9 + 7 $ .

输入输出格式

输入格式


The only line contains three integers $ n $ , $ k $ and $ m $ ( $ 1 \le n \le 10^9 $ , $ 1 \le k \le \min(n, 12) $ , $ 1 \le m \le 4 $ ) — the number of planets in the Catniverse, the number of planets Neko needs to visit and the said constant $ m $ .

输出格式


Print exactly one integer — the number of different ways Neko can visit exactly $ k $ planets. Since the answer can be quite large, print it modulo $ 10^9 + 7 $ .

输入输出样例

输入样例 #1

3 3 1

输出样例 #1

4

输入样例 #2

4 2 1

输出样例 #2

9

输入样例 #3

5 5 4

输出样例 #3

120

输入样例 #4

100 1 2

输出样例 #4

100

说明

In the first example, there are $ 4 $ ways Neko can visit all the planets: - $ 1 \rightarrow 2 \rightarrow 3 $ - $ 2 \rightarrow 3 \rightarrow 1 $ - $ 3 \rightarrow 1 \rightarrow 2 $ - $ 3 \rightarrow 2 \rightarrow 1 $ In the second example, there are $ 9 $ ways Neko can visit exactly $ 2 $ planets: - $ 1 \rightarrow 2 $ - $ 2 \rightarrow 1 $ - $ 2 \rightarrow 3 $ - $ 3 \rightarrow 1 $ - $ 3 \rightarrow 2 $ - $ 3 \rightarrow 4 $ - $ 4 \rightarrow 1 $ - $ 4 \rightarrow 2 $ - $ 4 \rightarrow 3 $ In the third example, with $ m = 4 $ , Neko can visit all the planets in any order, so there are $ 5! = 120 $ ways Neko can visit all the planets. In the fourth example, Neko only visit exactly $ 1 $ planet (which is also the planet he initially located), and there are $ 100 $ ways to choose the starting planet for Neko.