3699: 旋律的总数(第六轮01)
题目描述
牛牛最近在思考,音乐的主旋律似乎数目是有限的。
真正的音乐旋律比较复杂,为了简化问题,牛牛把旋律简化成一个长度为n的时 间相关的序列 a1 ~ an 。
序列可以填入的数字为1 ~ m 。
但是对于转调前后的旋律应当被认为是一致的,换言之,如果序列 ∃k, ∀i, ai ≡ bi + k(modm)
则视为a 序列和b序列是相同的。
牛牛想知道对于给定的n 和m,有多少种这样的旋律,也就是有多少个各不相同 的序列a 。
答案对109 + 7取模。
输入
第一行输入一个整数T表示数据组数。
随后T行,每行输入两个整数n, m,用一个空格隔开,表示序列长度和序列范围。
输出
输出T行,每行输出一个整数ans ,表示对应的答案 。
样例输入 复制
2
1 12
3 2
样例输出 复制
1
4
提示
【样例 1 输入】
2
1 12
3 2
【样例 1 输出】
1
4
【样例 1 说明】
样例 1 只有一种情况, (1)。
样例 2 只有(1,1,1),(1,1,2),(1,2,1),(1,2,2), 4 种情况。
【样例 2 输入】
1
1474 12
【样例 2 输出】
908395824
【样例 2 说明】
该样例作为大样例。
对于 20%的数据有n, m ≤ 3
对于 40%的数据有n, m ≤ 6
对于 70%的数据有n ≤ 10^6, m ≤ 12
对于 100%的数据有T ≤ 10,1 ≤ n ≤ 10^9, 1 ≤ m ≤ 10^6 。