编程题
### 问题描述
到周末啦!但是小蓝却开心不起来。因为妈妈给小蓝报了英语班、作文班、奥数班、钢琴班......
上课就算了,课后作业还又多又难。这不,小蓝又碰到了一个难题,他已经花了一个小时了还没做出来,再做不出来今天就没时间玩了。
你能帮助小蓝做出这道题,让他好好出去玩吗?
题目:给定一个正整数 $k$,有 $k$ 次询问,每次给定三个正整数 $n$, $e$, $d$,求两个正整数 $p$,$q$,使 $n$ $=$ $p$ $×$ $q$,$e$ $×$ $d$ $=$ $(p−1)(q−1) + 1$。
### 输入格式
第一行一个正整数 $k$,表示有 $k$ 次询问。
接下来 $k$ 行,每行三个正整数 $n$,$d$,$e$。
### 输出格式
输出 $k$ 行,每行两个正整数 $p$,$q$ 表示答案。
为使输出统一,你应当保证 $p \leq q$。
如果无解,请输出 $NO$。
### 样例输入
```text
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
```
### 样例输出
```text
2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88
```
### 说明
在样例中,对于 $1,5,6,7,10$ 次询问,都有 $n$ $=$ $p$ $×$ $q$,$e$ $×$ $d$ $=$ $(p−1)(q−1) + 1$
其余询问,无解。
### 评测数据规模
对于 $100$% 的评测数据,$1\leq k \leq 1\times 10^5$,$1\leq n \leq 1\times 10$18,$1\leq k \leq 1\times 10$18。