#3964. 「SDOI2016」排列计数

「SDOI2016」排列计数

题目描述

求有多少种长度为 nn 的序列 AA,满足以下条件:

  • 1n1 \sim nnn 个数在序列中各出现了一次;
  • 若第 ii 个数 AiA_i 的值为 ii,则称 ii 是稳定的。序列恰好有 mm 个数是稳定的。

满足条件的序列可能很多,序列数对 10910 ^ 9 + 7 取模。

输入格式

第一行一个数 TT,表示有 TT 组数据。 接下来 TT 行,每行两个整数 nmn、m

输出格式

输出 T 行,每行一个数,表示求出的序列数。

样例

5
1 0
1 1
5 2
100 50
10000 5000
0
1
20
578028887
60695423

数据范围

  • 测试点 1 ~ 3:T=1000n8m8T = 1000,n \leq 8,m \leq 8
  • 测试点 4 ~ 6:T=1000n12m12T = 1000,n \leq 12,m \leq 12
  • 测试点 7 ~ 9:T=1000n100m100T = 1000,n \leq 100,m \leq 100
  • 测试点 10 ~ 12:T=1000n1000m1000T = 1000,n \leq 1000,m \leq 1000
  • 测试点 13 ~ 14:T=500000n1000m1000T = 500000,n \leq 1000,m \leq 1000
  • 测试点 15 ~ 20:T=500000n1000000m1000000T = 500000,n \leq 1000000,m \leq 1000000