题目描述
给出两个正整数 X 和 Y,求 X 和 Y 的最大公约数,奶牛可以轻松解决这个问题。农夫 Farmer John 决定改一改题目去考验奶牛。农夫决定询问奶牛 Q 个问题,每个问题的格式是这样的:
农夫给定两个正整数 a 和 b,农夫保证 a≤b,然后农夫询问奶牛:在 a 至 b 的范围内,有没有哪个整数既是 X 的约数同时又是 Y 的约数?如果有,输出最大的那个;如果没有,输出 −1。
输入格式
第一行,两个正整数 X 和 Y。
第二行,一个整数 Q。
接下来有 Q 行,每行两个正整数:a 和 b,其中保证 a≤b。
输出格式
Q 行,每行一个整数,每行对应农夫的一个问题。
样例
200 120
3
9 40
25 35
10 15
40
-1
10
提示
第一个问题:在 9 至 40 的范围内,既是 200 的约数,同时又是 120 的约数,共有 3 个,分别是:10,20,40,在这 3 个之中,40 最大,所以输出 40。
第二个问题:在 25 至 35 的范围内,找不到既是 200 的约数,同时又是 120 的约数,所以输出 −1。
第三个问题:在 10 至 15 的范围内,既是 200 的约数,同时又是 120 的约数,只有 10,所以输出 10。
数据范围
- 对于 40% 的数据:1≤X≤100,1≤Y≤100,1≤Q≤100,1≤a<b≤100
- 对于 100% 的数据:1≤X≤1000000000,1≤Y≤1000000000,1≤Q≤30000,1≤a<b≤1000000000