Presenters


The workshop needs a presenting sequence. There are nn distinct people, and you must choose exactly kk of them to present. Order matters: the person in slot 11 speaks first, the person in slot 22 speaks second, and so on. The same set of kk people in a different speaking order counts as a different sequence.

Count the number of possible presenting sequences. Since the answer can be large, output it modulo 109+710^9 + 7.

Input

A single line containing two integers nn and kk.

Output

Print one integer: the number of presenting sequences of length kk, modulo 109+710^9 + 7.

Constraints

  • 0≤n,k≤1060 \le n, k \le 10^6

Example 1

Input 1
5 2
Output 1
20
Explanation

There are 55 choices for slot 11 and then 44 remaining choices for slot 22, so there are 5×4=205 \times 4 = 20 ordered sequences. Alice then Bob is different from Bob then Alice.

Example 2

Input 2
4 0
Output 2
1
Explanation

There is exactly one empty presenting sequence.

Example 3

Input 3
3 5
Output 3
0
Explanation

You cannot fill 55 slots using only 33 people.

Comments0


No comments yet

Be the first to comment.

New comment


Log in to join the discussion.