测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A8293. Weak Subsequence

编程题 普及/提高-

题目描述

Little Petya very much likes strings. Recently he has received a voucher to purchase a string as a gift from his mother. The string can be bought in the local shop. One can consider that the shop has all sorts of strings over the alphabet of fixed size. The size of the alphabet is equal to $k$ . However, the voucher has a string type limitation: specifically, the voucher can be used to purchase string $s$ if the length of string's longest substring that is also its weak subsequence (see the definition given below) equals $w$ .

String $a$ with the length of $n$ is considered the weak subsequence of the string $s$ with the length of $m$ , if there exists such a set of indexes $1<=i_{1}<i_{2}<...<i_{n}<=m$ , that has the following two properties:

- $a_{k}=s_{ik}$ for all $k$ from $1$ to $n$ ;
- there exists at least one such $k$ ( $1<=k<n$ ), for which $i_{k+1}–i_{k}>1$ .

Petya got interested how many different strings are available for him to purchase in the shop. As the number of strings can be very large, please find it modulo $1000000007$ ( $10^{9}+7$ ). If there are infinitely many such strings, print "-1".

输入格式

The first line contains two integers $k$ ( $1<=k<=10^{6}$ ) and $w$ ( $2<=w<=10^{9}$ ) — the alphabet size and the required length of the maximum substring that also is the weak subsequence, correspondingly.

输出格式

Print a single number — the number of strings Petya can buy using the voucher, modulo $1000000007$ ( $10^{9}+7$ ). If there are infinitely many such strings, print "-1" (without the quotes).

输入输出样例

输入 #1
2 2
输出 #1
10
输入 #2
3 5
输出 #2
1593
输入 #3
2 139
输出 #3
717248223

说明/提示

In the first sample Petya can buy the following strings: aaa, aab, abab, abb, abba, baa, baab, baba, bba, bbb.
上一题 去做题 下一题