#include <bits/stdc++.h>
using namespace std;
int i, j, n, a, b;
int num = 0;
vector<int> v;
int main() {
  cin >> a >> b >> n;
  for (i = 1; i * i <= a; i++) {
    if (a % i == 0 && b % i == 0) {
      v.push_back(i);
    }
    if (i * i < a && a % i == 0) {
      int j = a / i;
      if (b % j == 0) {
        v.push_back(j);
      }
    }
  }
  sort(v.begin(), v.end());
  for (i = 0; i < n; i++) {
    int x, y;
    cin >> x >> y;
    int ans = -1;
    for (j = 0; j < v.size(); j++) {
      if (v[j] >= x && v[j] <= y) ans = v[j];
    }
    cout << ans << endl;
  }
  return 0;
}
