CSES - Counting Sequences
  • 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