P9699 [GDCPC 2023] X Equals Y
题目描述
对于正整数 $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)$
输入格式
有多组测试数据。第一行输入一个整数 $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$。
输出格式
对于每组测试数据,如果不存在合法的正整数 $a$ 和 $b$,则输出一行一个字符串 $\texttt{NO}$。
否则,首先输出一行一个字符串 $\texttt{YES}$。下一行输出两个由单个空格分隔的整数 $a$ 和 $b$。如果有多种合法答案,您可以输出任意一种。