2416:[CSP-J2022] 解密

文件提交:文件名:decode 内存限制:512 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:1
命题人:
提交:494 解决:59

题目描述

给定一个正整数 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 .

样例输入

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

样例输出

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

提示

【数据范围】
以下记 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);