问题2343--zbc的K数列

2343: zbc的K数列

[命题人 : ]
时间限制 : 1 sec  内存限制 : 128 MB

提交

题目描述

zbc非常喜欢数列,但他实在太弱了无法想象出一个数列该如何构造,于是他就去FD(Frog Department)找srg求助,srg是一名光荣的FTCer(Frog,Time Controller),并没有很多空闲,就随口给zbc构造了一个神秘的$K$数列,构建方法如下:  
1、创建一个集合$A_K$,集合内包含$K$的所有整数次幂,如当$K=3$时,$A_3$包含$1,3,9,27\dots$,但不会包含$2,4\dots$。  
2、取$A_K$内任意个元素各一个相加,并将他们放进一个新的集合$B_K$。  
3、将$B_K$内的元素从小到大排序,得到的有序数列即是一个$K$数列$S_K$。  
例如当$K=3$时,$S_3=\{1,3,4(3+1),9,10(9+1),12(9+3),13(9+3+1),\dots\}$。  
zbc拿到这个数列后很开心,每天都要盯着这个$K$数列看很久。久而久之这个数列有些数被zbc弄丢了,zbc想复原这个数列,又不好意思再去找srg,他就只能来求助你了。  

zbc想知道$K$数列$S_K$的第$n$项是多少,你可以帮帮他吗?当然这个数有可能会非常大,因此请输出答案对$10^9+7$取模后的结果。

输入

仅一行包含两个整数$n$和$K$。
1≤n≤1000000000
2≤k≤9

输出

一个整数,表示答案对$10^9+7$取模后的结果。

样例输入 Copy

5 3

样例输出 Copy

10

提示

来源/分类