2103 - 幂次分解
描述

给定两个正整数n,m,你可以把 n 分解成若干个 m 的幂次方之和的形式,请你求出所有合法分解的方案数。(由于方案数可能非常多,输出方案数对 10^9+7 取模即可)

例如,当 n=6,m=2 时,可以有以下6种分解方式:

6=4+2
6=4+1+1
6=2+2+2
6=2+2+1+1
6=2+1+1+1+1
6=1+1+1+1+1+1


输入

输入两个正整数,分别表示 n,m


输出

输出一个正整数,表示分解方案数

样例

输入

6 2

输出

6

输入

10 3

输出

5
提示

对于30%的数据:1≤n≤20,1≤m≤5

对于60%的数据:1≤n≤1000,1≤m≤50

对于100%的数据:1≤n≤100000,1≤m≤100


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 22
通过次数 4