时间限制: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