#P1526. Magic Gems

Magic Gems

题目描述

Reziba 有很多魔法宝石。每颗魔法宝石可以分解成 𝑚𝑚颗普通宝石,魔法宝石和普通宝石都占据11体积的空间,但普通宝石不能再被分解。 Reziba 想要使一些魔法宝石分解,使得所有宝石占据的空间恰好为𝑛𝑛单位体积。显然,一个魔法宝石分解后会占据𝑚𝑚 体积空间,不分解的魔法宝石仍占据 11体积空间。

现在 Reziba 想要求出有多少种分解方案,可以让最后得到的宝石恰好占据𝑛𝑛 单位体积。两种分解方案不同当且仅当分解的魔法宝石数量不同,或者是所用的宝石的编号不同。

Reziba 当然知道怎么做,但是他想考考你。

输入

输入包含两个数字 n,m(1N1018,2M100)n,m(1≤N≤10^{18},2≤M≤100)

输出

输出能使宝石占据恰好 nn 体积的方案数。因为方案数实在太大了,请输出方案数 mod109+7\bmod 10^9+7 后的结果。

样例

4 2
5

该样例中一颗魔法宝石可以分解得到两颗普通宝石,我们的目标是拿到 44 颗魔法宝石。

让我们用 11 代表魔法宝石,00 代表普通宝石。

则存在如下几种方案:

  • 1111 :没有宝石被分解。
  • 0011 :第一颗宝石分解。
  • 1001 :第二颗宝石分解。
  • 1100 :第三颗宝石分解。
  • 0000 :第一颗和第二颗宝石分解。

因此答案为 5

3 2
3