N wizards are attending a meeting. Everyone has his own magic wand. N magic wands was put in a line, numbered from 1 to n(Wand_i owned by wizard_i). After the meeting, n wizards will take a wand one by one in the order of 1 to n. A boring wizard decided to reorder the wands. He is wondering how many ways to reorder the wands so that at least k wizards can get his own wand.
For example, n=3. Initially, the wands are w1 w2 w3. After reordering, the wands become w2 w1 w3. So, wizard 1 will take w2, wizard 2 will take w1, wizard 3 will take w3, only wizard 3 get his own wand.
Input
First line contains an integer T (1 ≤ T ≤ 10), represents there are T test cases.
For each test case: Two number n and k.
1<=n <=10000.1<=k<=100. k<=n.
Output
For each test case, output the answer mod 1000000007(10^9 + 7).
Sample Input
21 13 1
Sample Output
14 现在一群 wizard 在开会,进入会议室的时候,每个人将自己的 wand 放到了桌子上,现在开会结束了, 在 wizard 们将要离开的时候,将 wand 原来的摆放顺序打乱,那 wizard 将桌子上的 wang 拿走时: 要求:至少有 K 个人拿到的是自己原来的 wand 。问,有多少种打乱顺序的方法 首先在 n 个中拿出 k 到 n 个,是放在原来的位置,方法有 C(n,i)种,然后将剩下的那些 wand 错排 预处理阶乘逆元
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include