众所周知,小葱同学擅长计算,尤其擅长计算组合数,所以小葱给了你两个数n和k,希望你找到k个不同的组合数使得这k个组合数的和最大。所谓不同的组合数,即对于组合数C(a1,b1)和C(a2,b2),若a1≠a2或者b1≠b2,则我们认为这两个组合数是不同的。现在小葱希望你找到这样k个不同的组合数,使得它们互不相同且对于其中任何一个组合数C(a,b)有0≤b≤a≤n。问这k个组合数的和最大是多少?
输入描述:
第一行两个整数 n,k。
输出描述:
一行一个整数,代表k个组合数的和对109+7取模之后的结果;数据保证一定有至少k个数可以选。
备注:
对于20%的数据,n≤10。
对于40%的数据,n≤500。
对于另外20%的数据,k=1。
对于100%的数据,1≤n≤106,1≤k≤105。