K重排列
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

对于一个排列 ,我们设 ,且
如果存在一个 ,使得对于所有的 都有 ,那么 就是 的一个周期。
给定 ,你需要计算有几个 的排列,满足 是它的一个周期
由于答案可能很大,你只需要输出答案对 取模后的值即可

输入描述:

第一行一个整数  表示数据组数
对于每组数据,第一行两个正整数

输出描述:

对于每组数据,输出答案对  取模后的值
示例1

输入

复制
5
3 10
5 100
5 120
50 1000
1 1

输出

复制
4
80
120
784037391
1