#4326. C++青科赛初中组(5)--编程题4

C++青科赛初中组(5)--编程题4

题目描述

给定一个正整数 kk,有 kk 次询问,每次给定三个正整数 ni,ei,din_i,e_i​,d_i​,求两个正整数 pi,qip_i​,q_i​,使 $n_i​=p_i​\times q_i​,e_i​\times d_i​=(p_i​−1)(q_i​−1)+1$。

输入格式

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

接下来 kk 行,第 ii 行三个正整数 ni,di,ein_i​,d_i​,e_i​。

输出格式

输出 kk 行,每行两个正整数 pi,qip_i​,q_i ​表示答案。

为使输出统一,你应当保证 piqip_i​\le q_i​。

如果无解,请输出 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=ne×d+2m=n−e×d+2

保证对于 100%100\% 的数据,1k1051\le k\le 10^5,对于任意的 $1\le i\le k,1\le n_i\le 10^{18},1\le e_i​\times d_i​\le 10^{18},1\le m\le10^9$。