Kaladin and his friends are very tired after a long and hard day of work. Now they sit down to have soup at a round table. However, since everyone is very tired, no one wants to talk. Even simple questions like "What is your name?" would be stressful.
As no one wants to risk a conversation, no one sits next to anyone. Kaladin's friend, Syl, became interested in counting how many ways people can sit at the round table so that no one is next to anyone.
The seats at the table are numbered from $$$1$$$ to $$$n$$$, and the people from $$$1$$$ to $$$k$$$. A way of seating the people at the round table can be represented by a list of size $$$k$$$, $$$l$$$, where $$$l_i$$$ represents the chair that the $$$i$$$-th person sat in. That is, for this counting, it matters which person is sitting in which chair.
Return the answer modulo $$$10^9 + 7$$$.
The input consists of two integers: $$$n$$$ and $$$k$$$, indicating the number of seats at the table and the number of people who will eat, respectively.
It is guaranteed that $$$1 \leq k \leq n \leq 10^5$$$.
Print a single integer $$$0 \leq x \lt 10^9 + 7$$$, the number of ways that people can sit at the round table so that no one is next to anyone, modulo $$$10^9 + 7$$$.
1 1
1
2 1
2
2 2
0
5 2
10
As the table is round, the position $$$i$$$ is next to position $$$i+1$$$, for $$$1\leq i \lt n$$$, and also position $$$1$$$ is next to position $$$n$$$.
| Name |
|---|


