Problem B: ​解密

Memory Limit:512 MB Time Limit:1.000 S
Judge Style:Normal Judger Creator:
Submit:24 Solved:9

Description

【题目描述】

给定一个正整数 k,有 k 次询问,每次给定三个正整数 ni , ei , di,求两个正整数 pi , qi 使 ni = pi × qi ,  ei × di = (pi − 1)(qi − 1) + 1

【输入格式】

从文件 decode.in 中读入数据。

第一行一个正整数 k,表示有 k 次询问。

接下来 k 行,第 i 行三个正整数 ni , di , ei

【输出格式】

输出到文件 decode.out 中。

输出 k 行,每行两个正整数 pi , qi 表示答案。

为使输出统一,你应当保证 pi ≤ qi

如果无解,请输出 NO

【样例 1 输入】

10

770  77  5

633  1  211

545  1  499

683  3  227

858  3  257

723  37  13

572  26  11

867  17  17

829  3  263

528  4  109

【样例 1 输出】

2  385

NO

NO

NO

11  78

3  241

2  286

NO

NO

6  88

【样例 2

见选手目录下的 decode/decode2.in decode/decode2.ans

【样例 3

见选手目录下的 decode/decode3.in decode/decode3.ans

【样例 4

见选手目录下的 decode/decode4.in decode/decode4.ans

【数据范围】

以下记 m = n − e × d + 2

保证对于 100% 的数据,1 ≤ k ≤ 105,对于任意的 1 ≤ i ≤ k,1 ≤ ni ≤ 1018 , 1 ≤

ei × di ≤ 1018 , 1 ≤ m ≤ 109

 

测试点编号

k

n

m

特殊性质

1

103

103

103

保证有解

2


3

109

6×104

保证有解

4


5

109

保证有解

6


7

105

1018

保证若有解则p=q

8

保证有解

9


10