奇怪的魔法
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

        启明小朋友学会了一种奇怪的魔法,可以创造长度为n的单调非递减数组,每个数组需要消耗的魔力为数组的最大值,启明小朋友每次只能创造出最大值不超过k的数组,启明小朋友不想要创造相同的数组,他想知道他能创造的所有不同的数组需要消耗他多少点魔力。由于答案可能非常大,需要对1e9+7取模。

输入描述:

两个整数,n和k。(1<=n,k<=1e6)

输出描述:

一个整数,题中的答案。
示例1

输入

复制
2 2

输出

复制
8

说明

可能的情况为[0,0],[0,1],[0,2],[1,1],[1,2],[2,2]
示例2

输入

复制
6 4

输出

复制
720

备注:

数组中的数必须是自然数