有 m 堆石子,编号为 1, 2, \ldots, m,其石子数量分别记为 a_1, a_2, \ldots, a_m。
现在要求第 1 堆石子恰有 n 个(即 a_1 = n),并且此后每堆石子的数量严格小于前一堆,即 a_i < a_{i-1}(2 \le i \le m)。此外,每堆至少需要有一个石子,即 a_i \ge 1(1 \le i \le m)。
在总石子数量不设限制的情况下,给定 m \ge 2, n \ge 1,有多少个满足要求的石子堆放方案?
两个方案不同,当且仅当,两个方案中至少有一堆石子数量不同。
如果不存在满足要求的方案,输出 0。由于方案数可能很大,请输出方案数对 10^9 + 7 取模后的结果。
输入一行两个正整数 m 和 n。
输出一个整数,表示总方案数对 10^9 + 7 取模后的结果。
3 5
6
有 (5,4,3)、(5,4,2)、(5,4,1)、(5,3,2)、(5,3,1) 和 (5,2,1) 共计 6 种方案。
| 数据点编号 | 数据范围 | 特殊性质 |
|---|---|---|
| 1, 2 | 2 \le m \le 100,\ 1 \le n \le 100 | 0 \le n - m \le 5 |
| 3, 4, 5 | 2 \le m \le 100,\ 1 \le n \le 10^8 | 无 |
| 6, 7, 8, 9, 10 | 2 \le m \le 10^5,\ 1 \le n \le 10^8 | 无 |