#L2034. 「SDOI2016」排列计数

「SDOI2016」排列计数

题目描述

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

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

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


输入格式

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


输出格式

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


样例

输入

5
1 0
1 1
5 2
100 50
10000 5000

输出

0
1
20
578028887
60695423

数据范围与提示

  • 测试点 1 ~ 3T=1000T = 1000n8n \leq 8m8m \leq 8
  • 测试点 4 ~ 6T=1000T = 1000n12n \leq 12m12m \leq 12
  • 测试点 7 ~ 9T=1000T = 1000n100n \leq 100m100m \leq 100
  • 测试点 10 ~ 12T=1000T = 1000n1000n \leq 1000m1000m \leq 1000
  • 测试点 13 ~ 14T=500000T = 500000n1000n \leq 1000m1000m \leq 1000
  • 测试点 15 ~ 20T=500000T = 500000n1000000n \leq 1000000m1000000m \leq 1000000