来源 : 贵阳一中信息学课程组
描述

小明同学特别喜欢数学,尤其是计算组合数,所以小明给了n和k,希望你找到k个组合数的和最大。所谓不同的组合数,即对于组合数,若a1≠a2或者b1≠b2,则我们认为这两个组合数是不同的。现在小明希望你找到这样k个不同的组合数,使得它们互不相同且对于其中任何一个组合数有0≤b≤a≤n。问这k个组合数的和最大是多少?

输入
输入n和k。
输出
输出代表k个组合数的和对模1000000007取模之后的结果。数据保证一定有k个数可以选。
样例输入
2 3
样例输出
4
提示
数据范围:

对于20%的数据,n≤10;

对于40%的数据,n≤500;

对于另外20%的数据,k=1;

对于100%的数据,1≤n≤100000,1≤k≤100000.