#5495. CSES2228 计数序列

0

CSES2228 计数序列

Counting Sequences

Your task is to count the number of sequences of length n where each element is an integer between 1 \dots k and each integer between 1 \dots k appears at least once in the sequence. For example, when n=6 and k=4, some valid sequences are [1,3,1,4,3,2] and [2,2,1,3,4,2].

Input

The only input line has two integers n and k.

Output

Print one integer: the number of sequences modulo 10^9+7.

Constraints

1kn1061 \le k \le n \le 10^6

Example

Input

6 4

Output

1560