D1. Sweets (medium)
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Willy Wonka, famous for his large chocolate factory, decided to give a gift to the $$$n$$$ lucky people who won a visit to his factory. He has $$$k$$$ chocolates available, all different from each other. Willy wants to distribute the chocolates among the $$$n$$$ participants, ensuring that everyone receives at least one chocolate.

After a while, he realized that this task was too easy and decided to compute how many ways this can be done. Let the $$$k$$$ distinct chocolates be numbered from $$$1$$$ to $$$k$$$, and the participants from $$$1$$$ to $$$n$$$. Two distributions are different if there exists a participant $$$i$$$ who receives a chocolate $$$j$$$ in one distribution but not in another for some $$$1 \leq i \leq n$$$ and $$$1 \leq j \leq k$$$. Since the number of ways can be very large, compute the answer modulo $$$10^9 + 7$$$.

Input

The input consists of two integers $$$k$$$ and $$$n$$$, respectively. It is guaranteed that $$$1 \leq n \leq k \leq 10^5$$$.

Output

Print an integer $$$0 \leq q \lt 10^9 + 7$$$, the number of ways to distribute the sweets with the given restrictions, modulo $$$10^9 + 7$$$.

Examples
Input
1 1
Output
1
Input
2 1
Output
1
Input
2 2
Output
2
Input
3 1
Output
1
Input
3 2
Output
6