#P1720. 合成大西瓜

合成大西瓜

题目背景

我们规定,对于两个正整数 a,ba,b

  • 最大公因数(Greatest Common Divisior,GCD):最大的正整数 xx,满足 a÷xa \div xb÷xb \div x 的余数均为 00
  • 最小公倍数(Least Common Multiple,LCM):最小的正整数 xx,满足 x÷ax \div ax÷bx \div b 的余数均为 00

例如对于 a=12,b=30a=12,b=30,它们的最大公约数为 66,最小公倍数为 6060

题目描述

现在小 A 有两个大西瓜。第一个大西瓜的半径为 a1a_1,第二个大西瓜的半径为 a2a_2

现在小 A 要合成大西瓜。具体而言,如果他手上的两个西瓜奇偶相同,则新的大西瓜的半径是小 A 手上两个西瓜的最大公约数,反之新的大西瓜的半径是小 A 手上两个西瓜的最小公倍数。

每次合成完大西瓜之后,小 A 手上最先有的西瓜会被丢弃。例如说,如果小 A 用第一个大西瓜和第二个大西瓜合成出第三个大西瓜,其半径为 a3a_3,则第一个大西瓜就被丢弃了;接着小 A 用第二个大西瓜和第三个大西瓜合成出第四个大西瓜,其半径为 a4a_4,则第二个大西瓜就被丢弃了。

小 A 想要知道,第 kk 个大西瓜的半径会是多少,请你告诉他。由于他要进行 TT 次合成大西瓜的游戏,因此你需要回答 TT 次问题。

输入格式

第一行输入一个正整数 TT,表示询问次数。

第二行开始,一共 TT 行,每行表示一个询问:

  • 每一行三个正整数 a1,a2,ka_1,a_2,k,表示第一个大西瓜的半径、第二个大西瓜的半径,以及小 A 想要知道半径的大西瓜是第几个。

输出格式

对于每次询问,输出一行一个正整数,表示第 kk 个大西瓜的半径会是多少。

样例 #1

样例输入 #1

3
1 2 3
3 5 3
6 8 45

样例输出 #1

2
1
2

提示

【样例解释】

  • 对于第一次询问,因为第一个和第二个大西瓜的半径奇偶性不同,因此第三个大西瓜的半径为第一个和第二个大西瓜半径的最小公倍数,即 a3=2a_3=2
  • 对于第二次询问,因为第一个和第二个大西瓜的半径奇偶性相同,因此第三个大西瓜的半径为第一个和第二个大西瓜半径的最大公约数,即 a3=1a_3=1
  • 对于第三次询问:
    • 因为第一个和第二个大西瓜的半径奇偶性相同,因此第三个大西瓜的半径为第一个和第二个大西瓜半径的最大公约数,即 a3=2a_3=2
    • 因为第二个和第三个大西瓜的半径奇偶性相同,因此第四个大西瓜的半径为第二个和第三个大西瓜半径的最大公约数,即 a4=2a_4=2
    • 以此类推,可得第 4545 个西瓜的半径为 22

【数据范围】

对于 30%30\% 的数据,1T101 \leq T \leq 101a1,a2,k1001 \leq a_1,a_2,k \leq 100

对于 60%60\% 的数据,1T1001 \leq T \leq 1001a1,a2,k1041 \leq a_1,a_2,k \leq 10^4

对于所有数据,1T1051 \leq T \leq 10^51a1,a21091 \leq a_1,a_2 \leq 10^91k10181 \leq k \leq 10^{18}