#1948. 简单的数学题
简单的数学题
当前没有测试数据。
题目描述
小X参加了今年的 NOI Online,看到了这道题:
Kri 喜欢玩数字游戏。
一天,他在草稿纸上写下了 对正整数 ,并对于每一对正整数计算出了 。
可是调皮的 Zay 找到了 Kri 的草稿纸,并把每一组的 都擦除了,还可能改动了一些 。
现在 Kri 想请你帮忙还原每一组的 ,具体地,对于每一组的 和 ,你需要输出最小的正整数 ,使得 。如果这样的 不存在,也就是 Zay 一定改动了 ,那么请输出
-1
。
聪明的小X当然(不)能做出来了。不过现在小X想知道,对于所有 的正整数对 ,有多少对可以还原出至少一个 ,这些 (每一组只算最小的 )的总和是多少。这下小X不会了,于是他来寻求你的帮助。
由于第二问的答案可能很大,你只需要算出它对 取模后的结果。
输入格式
本题采用多组数据。
第一行,一个整数 ,表示数据总数。
接下来 行,每行三个整数 。
输出格式
行,每行两个整数,表示两个答案。
样例
3
2 4 7
5 5 1009
10 20 1009
5 4
9 19
46 283
说明与提示
样例说明
对于第一组数据,符合要求的有 ,对应的 分别是 。
对于第二组数据,符合要求的有 $\red{(1,1),(1,2),(1,3),(1,4),(1,5),(2,2),(3,3),(4,4),(5,5)}$,对应的 分别是 。
数据范围
$\red{1 \le T \le 5, 1 ≤ n,m < 2^{32},2 < p < 10^9 + 10}$ 且 是质数。