![]()
1 #include<bits/stdc++.h>
2 using namespace std;
3 int a,b;
4 int gd;
5 vector<int>v;
6 int main()
7 {
8
9 cin>>a>>b;
10 int n;
11 cin>>n;
12 gd=gcd(a,b);
13 for(int i=1;i<=sqrt(gd);i++)
14 if(gd%i==0)
15 {
16 v.push_back(i);
17 v.push_back(gd/i);
18 }
19 sort(v.begin(),v.end());
20 for(int i=1;i<=n;i++)
21 {
22 int l,r;
23 cin>>l>>r;
24 int pl=0,pr=v.size()-1;
25 while(pl<=pr)
26 {
27 int mid=(pl+pr)>>1;
28 if(v[mid]>r)pr=mid-1;
29 else pl=mid+1;
30 }
31
32 if(v[pr]>=l&&v[pr]<=r)cout<<v[pr]<<endl;
33 else cout<<"-1"<<endl;
34 }
35
36 }