#include<bits/stdc++.h>
using namespace std;
int a, b, n, l, r;
set<int> s;
int main() {
cin >> a >> b >> n;
a = __gcd(a, b);
int sr = (int)sqrt(a);
for(int i = 1; i <= sr; ++i) {
if(a % i == 0) s.insert({i, a / i});
}
while(n--) {
cin >> l >> r;
int t = *(--s.upper_bound(r));
cout << (t < l ? -1 : t) << '\n';
}
return 0;
}
第十一行
s.insert({i, a / i});
是什么意思