测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 立即查看

A72042. 堆石子

编程题 基础

题目描述

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 取模后的结果。

输入格式

输入一行两个正整数 mn

输出格式

输出一个整数,表示总方案数对 10^9+7 取模后的结果。

输入输出样例

输入 #1
3 5
输出 #1
6

说明/提示

样例解释 1

(5,4,3)(5,4,2)(5,4,1)(5,3,2)(5,3,1)(5,2,1) 共计 6 种方案。

数据范围

数据点编号数据范围特殊性质
1,22 \le m \le 100, 1 \le n \le 1000 \le n - m \le 5
3,4,52 \le m \le 100, 1 \le n \le 10^8
6,7,8,9,102 \le m \le 10^5, 1 \le n \le 10^8^