**Time limit:**1.00 s**Memory limit:**512 MB

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

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

# Example

Input:

6 4

Output:

1560