#BSCSPJ0005C. 最大公约数(gcd)

最大公约数(gcd)

题目描述

给定两个正整数 llrr(保证 lrl \leq r),求 lx<yrl \leq x < y \leq rgcd(x,y)gcd(x, y) 的最大值。

其中 gcd(x,y)gcd(x, y) 表示 xxyy 的最大公约数,即 gcd(x,y)=maxx%d=y%d=0dgcd(x,y) = max_{x\%d = y \% d = 0} d

输入格式

输入多行。

第一行一个整数 TT 表示数据组数。

接下来 TT 行,每行两个正整数 llrr 表示一组询问。

输出格式

输出多行。

一共 TT 行,每行两个正整数表示答案。

样例 #1

样例输入 #1

10
1 100
35 85
16 30
8 78
33 72
1 2
9 69
1 33
20 29
9 99

样例输出 #1

50
42
10
39
36
1
34
16
7
49

提示

【样例解释】:

【样例 11 解释】

对于,l=1r=100l=1,r=100,显然当,x=50y=100x=50,y=100 时能取得最大的 gcd(x,y)=50gcd(x,y) = 50

【样例 22 解释】

见目录 2.in/2.ans2.in/2.ans

本样例符合测试点编号为 22 的数据范围。

【样例 33 解释】

见目录 3.in/3.ans3.in/3.ans

本样例符合测试点编号为 33 的数据范围。

【样例 44 解释】

见目录 4.in/4.ans4.in/4.ans

本样例符合测试点编号为 44 的数据范围。

【样例 55 解释】

见目录 5.in/5.ans5.in/5.ans

本样例符合测试点编号为 55 的数据范围。

【数据范围】:

测试点编号 rr \leq rl+1r - l + 1 \leq
1 ~ 5 10210^2 10210^2
6 ~ 10 101110^{11}
11 ~ 15 10310^3
16 ~ 20 10510^5
21 ~ 25 101110^11

对于 100%100\% 的数据保证 1T100,1l<r10111 \leq T \leq 100, 1 \leq l < r \leq 10^{11}