#abc281h. [abc281_h]Alchemy
[abc281_h]Alchemy
题目描述
高桥有 种一级宝石,每种宝石有 颗。
对于大于等于 的整数 ,他可以将满足以下条件的 颗宝石放入坩埚中,从而得到一颗级宝石。
- 任意两颗宝石不是同一种类。
- 每颗宝石的级别都小于 。
- 对于大于等于 的整数 ,最多只能有一颗级宝石。
请计算高桥可以获得的级别为 的宝石的种类数,对 取模。
这里,如果两个级别为 或更高的宝石是由同一组宝石产生的,则认为它们是相同的种类。
- 当且仅当一个集合中有一颗宝石,而另一个集合中没有同类宝石时,两个宝石集合才被区分开来。
任何一级宝石和任何二级或更高级宝石都属于不同的种类。
约束条件
- 和 是整数。
输入
输入通过标准输入给出,格式如下:
输出
输出答案。
示例输入 1
3 3
示例输出 1
10
有十种方法可以得到一颗三级宝石。
- 将三种一级宝石放入坩埚中。
- 高桥有三种一级宝石,所以有一种选择三种一级宝石的方法。因此,他可以通过这种方式获得一种三级宝石。
- 将一种二级宝石和两种一级宝石放入坩埚中。
- 通过将两种一级宝石放入坩埚中,可以获得一种二级宝石。
- 高桥有三种一级宝石,所以有三种选择两种一级宝石的方法。因此,在这种情况下有三种二级宝石可用。
- 有三种二级宝石,以及三种两种一级宝石的选择方法,因此他可以通过这种方式获得 种三级宝石。
- 通过将两种一级宝石放入坩埚中,可以获得一种二级宝石。
示例输入 2
1 100
示例输出 2
100
示例输入 3
200000 1000000000
示例输出 3
797585162