#include <iostream>
#include <cstdio>
using namespace std;
int gcd(int a,int b)
{
int t;
if(a<b)
{
t=a;a=b;b=t;
}
while(t=a%b)
{
a=b;
b=t;
}
return b;
}
int main()
{
int a,b,x,y,n,c,d;
scanf("%d%d",&x,&y);
scanf("%d",&n);
int tmp=gcd(x,y);
bool flag;
int ans;
while(n--)
{
flag=false;
scanf("%d%d",&a,&b);
c=tmp/a;d=(tmp-1)/b+1;
if(b-a<d-c)
{
for(int i=b;i>=a;i--)
{
if(tmp%i==0)
{
ans=i;
flag=true;
break;
}
}
}
else
{
for(int i=d;i<=c;i++)
{
if(tmp%i==0)
{
ans=tmp/i;
flag=true;
break;
}
}
}
if(flag)
printf("%d\n",ans);
else
printf("-1\n");
}
}