#P1209. X 等于 Y

    ID: 210 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>广东省第二十届大学生程序设计竞赛(GDCPC2023)

X 等于 Y

Description

对于正整数 \(X\)\(b \geq 2\),定义 \(f(X,b)\) 为一个描述了 \(X\)\(b\) 进制表示下的序列,其中序列的第 \(i\) 个元素表示 \(X\)\(b\) 进制表示下从低到高第 \(i\) 位的值。例如,\(f(6, 2) = \{0, 1, 1\}\),而 \(f(233, 17) = \{12, 13\}\)

给定的四个正整数 \(x\)\(y\)\(A\)\(B\),请找到两个正整数 \(a\)\(b\),同时满足:

  • \(2 \leq a \leq A\)
  • \(2 \leq b \leq B\)
  • \(f(x, a) = f(y, b)\)

Input

有多组测试数据。第一行输入一个整数 \(T\)\(1 \leq T \leq 10^3\))表示测试数据组数。对于每组测试数据:

第一行输入四个整数 \(x\)\(y\)\(A\)\(B\)\(1 \leq x,y \leq 10^9\)\(2 \leq A,B \leq 10^9\))。

保证至多只有 \(50\) 组测试数据满足 \(\max(x, y) > 10^6\)

Output

对于每组测试数据,如果不存在合法的正整数 \(a\)\(b\),则输出一行一个字符串 NO

否则,首先输出一行一个字符串 YES。下一行输出两个由单个空格分隔的整数 \(a\)\(b\)。如果有多种合法答案,您可以输出任意一种。

6
1 1 1000 1000
1 2 1000 1000
3 11 1000 1000
157 291 5 6
157 291 3 6
10126 114514 789 12345
YES
2 2
NO
YES
2 10
YES
4 5
NO
YES
779 9478