- 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