1682: [CSP-J2022] 解密

Memory Limit:512 MB Time Limit:3.000 S
Judge Style:Text Compare Creator:
Submit:4 Solved:2

Description

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

Input

从文件 decode.in 中读入数据。
第一行一个正整数 k,表示有 k 次询问
接下来 k 行,第 i 行三个正整数ni di ei

Output

输出到文件 decode.out 中。
输出 k 行,每行两个正整数pi qi 表示答案。
为使输出统一,你应当保证pi ≤ qi
如果无解,请输出 NO .

Sample Input Copy

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

Sample Output Copy

2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88

HINT

【数据范围】
以下记 m=n - e × d + 2 。
保证对于100%的数据,1 ≤ k ≤ 105 ,对于任意的 1 ≤ i ≤ k , 1 ≤ ni ≤ 1018 ,1 ≤ ei ×di ≤ 1018 , 1 ≤ m ≤ 109

本题需要使用文件输入输出,而非标准输入输出。
freopen("decode.in","r",stdin);
freopen("decode.out","w",stdout);