luogu#P7161. [COCI2020-2021#2] Euklid

[COCI2020-2021#2] Euklid

题目描述

对于正整数 a,ba, b,定义 R(a,b)R(a, b) 为:

$\begin{cases}R(b,a)&a<b\\R\left(\left\lfloor\dfrac{a}{b}\right\rfloor,b\right)&1<b\leq a\\a&1=b\leq a\end{cases}$

给定正整数 g,hg, h,求正整数 a,ba, b 使得 gcd(a,b)=g\gcd(a,b)=gR(a,b)=hR(a,b)=h

输入格式

第一行一个整数 TT,代表数据组数。
接下来 TT 行每行两个正整数 gi,hig_i, h_i

输出格式

输出 TT 行,每行两个满足题意的正整数 ai,bia_i, b_i
要求 a,ba, b 均不超过 101810^{18}
可以证明一定有满足题意的 a,ba, b,若有多组解输出任意一组即可。

1
1 4
99 23
2
3 2
5 5
9 39
5 5

提示

【样例解释 #1】

gcd(99,23)=1\gcd(99,23)=1R(99,23)=4R(99,23)=4

【数据范围】

对于 100%100\% 的数据,1g200,0001 \leq g \leq 200,0002h200,0002 \leq h \leq 200,000

Subtask #1(44 pts):g=hg=h
Subtask #2(77 pts):h=2h=2
Subtask #3(77 pts):g=h2g=h^2
Subtask #4(1414 pts):g,h20g,h \leq 20
Subtask #5(3636 pts):g,h2000g,h \leq 2000
Subtask #6(3232 pts):无附加约束。

【说明】

译自 Croatian Open Competition in Informatics 2020 ~ 2021 Round 2 C Euklid