#P14149. 振袖秋风问红叶
振袖秋风问红叶
题目背景

海上漫游的日子是平淡的,所以万叶喜欢思考问题。
北斗总是喜欢提问万叶问题,但是万叶非常聪明,所以他想让你来回答北斗船长的问题。
题目描述
万叶进行了如下定义:
- 对于一个排列 ,找到其最小的一个 ,满足 包含有长度为 到 的排列区间(详见提示说明),且不包含长度为 的排列区间,称之为 阶枫叶排列。
北斗给了万叶若干个问题,每个问题形式如下:
给定 和 ,求出所有可能长度为 的排列中,有多少个排列是 阶枫叶排列。
由于这个答案可能很大,你只需输出答案对 取模后的结果。
输入格式
本题包含有多组测试数据。
第一行输入一个整数 ,表示数据组数。
对于每组数据,输入两个正整数 ,含义如上。
输出格式
对于每组数据,输出一行一个整数,表示所求的 阶枫叶排列数目。
1
3 1
2
1
4 1
12
提示
样例解释:
样例一:长度为 的一阶枫叶排列只有 。
数据范围:
本题采用捆绑测试。
- Subtask 1(20 pts):。
- Subtask 2(30 pts):。
- Subtask 3(50 pts):无特殊限制。
对于所有测试数据,。
为了避免用词上的歧义,在这里解释一下排列区间:
例如在 中, 就是一个长度为 的排列区间,因为它长度为 ,且恰好包含 到 的所有元素,而 和 则不是排列区间。
特别的,一个排列本身也是一个排列区间。