20012 - 排列计数
时间限制 : 1 秒
内存限制 : 128 MB
求有多少种 1 到 n 的排列 a,满足序列恰好有 m 个位置 i,使得 a_i = i。
答案对 10^9 + 7 取模。
输入
本题单测试点内有多组数据。 输入的第一行是一个整数 T,代表测试数据的组数。
以下 T 行,每行描述一组测试数据。
对于每组测试数据,每行输入两个整数,依次代表 n 和 m。
输出
共输出 T 行,对于每组测试数据,输出一行一个整数代表答案。
样例
输入
5 1 0 1 1 5 2 100 50 10000 5000
输出
0 1 20 578028887 60695423
提示
本题共 20 个测试点,各测试点等分,其数据规模如下表。
| 测试点编号 | T = | n, m \leq | 测试点编号 | T = | n, m \leq |
|---|---|---|---|---|---|
| 1\sim 3 | 10^3 | 8 | 10 \sim 12 | 10^3 | 10^3 |
| 4 \sim 6 | 10^3 | 12 | 13 \sim 14 | 5 \times 10^5 | 10^3 |
| 7 \sim 9 | 10^3 | 100 | 15 \sim 20 | 5 \times 10^5 | 10^6 |
对于全部的测试点,保证 1 \leq T \leq 5 \times 10^5,1 \leq n \leq 10^6,0 \leq m \leq 10^6。