#P8814. 解密(Decode)

解密(Decode)

解密(Decode)

题目描述

给定一个正整数 kk,有 kk 次询问,每次给定三个正整数 ni,ei,din_i, e_i, d_i,求两个正整数 pi,qip_i, q_i,使

$$n_i = p_i \times q_i,\quad e_i \times d_i = (p_i-1)(q_i-1)+1。$$

输入格式

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

接下来 kk 行,第 ii 行三个正整数 ni,ei,din_i, e_i, d_i

输出格式

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

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

如果无解,请输出 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

数据范围

以下记 m=ne×d+2m = n - e \times d + 2

保证对于 100%100\% 的数据,1k1051 \le k \le 10^5,对于任意的 1ik1 \le i \le k1ni10181 \le n_i \le 10^{18}1ei×di10181 \le e_i \times d_i \le 10^{18}1m1091 \le m \le 10^9

测试点编号 kk \le nn \le mm \le 特殊性质
1 10310^3 10310^3 保证有解
2
3 10910^9 6×1046\times 10^4 保证有解
4
5 10910^9 保证有解
6
7 10510^5 101810^{18} 保证若有解则 p=qp=q
8 保证有解
9
10

知识点与难度

本题涉及的知识点从属于 GESP 5级,难度等级:⭐⭐(星级)


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例 / 小规模随机
1 20 3~8 小规模 m103109m\le 10^3\sim 10^9 / 有解 / 无解混合
2 15 9~11 Hack: p=qp=q / 判别式非完全平方 / 大整数乘积
3 30 12~20 中大规模 k5000104k\approx 5000\sim 10^4n1018n\le 10^{18}
4 25 21~25 随机回归 kk 随机到 10510^5