#141. 排列计数

排列计数

题目描述

求有多少种长度为 n\red n 的序列 A\red A,满足以下条件:

1\red 11n\red{1 \sim n}n\red n 个数在序列中各出现了一次。

2\red 2、若第 i\red i 个数 Ai\red{A_i} 的值为 i\red i,则称 i\red i 是稳定的,序列恰好有 m\red m 个数是稳定的。

由于满足条件的序列可能很多,所以请你将序列数对 109+7\red{10^9+7} 取模后输出。

输入格式

第一行一个数 T\red T,表示有 T\red T 组数据。

接下来 T\red T 行,每行两个整数 n\red nm\red m

输出格式

输出 T\red T 行,每行一个整数,表示求出的序列数对 109+7\red{10^9+7} 取模后的值。

样例

输入样例

5
1 0
1 1
5 2
100 50
10000 5000

输出样例

0
1
20
578028887
60695423

提示

T500000\red{T\le 500000},

n1000000\red{n\le 1000000},

m1000000\red{m\le 1000000}