问题2343--zbc的K数列

2343: zbc的K数列

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

提交

题目描述

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

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

输入

仅一行包含两个整数nK
1≤n≤1000000000
2≤k≤9

输出

一个整数,表示答案对109+7取模后的结果。

样例输入 Copy

5 3

样例输出 Copy

10

提示

来源/分类