20063 - 堆石子
时间限制 : 1 秒
内存限制 : 128 MB
有 m 堆石子,编号为 1, 2, \cdots, m,其石子数量分别记为 a_1, a_2, \cdots, 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 取模后的结果。
样例
输入
输出
提示
说明/提示
样例解释 1
有 (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 | \quad 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 | 无 |