func_code_string: #include <bits/stdc++.h>   using namespace std;   int i, j, k, l, x, y, z, m, n, a, b, ans, p, q, r;   int numbers[800000];   int gcd(int x, int y) {     if (y == 0)       return x;     else       return gcd(y, x % y);   }   int main() {     scanf( %d %d %d , &a, &b, &n);     ans = gcd(a, b);     m = sqrt(ans);     for (i = 1, k = 0; i <= m; i++) {       if (ans % i == 0) {         p = ans / i;         numbers[k] = p;         k++;         numbers[k] = i;         k++;       }     }     sort(numbers, numbers + k);     p = 0;     q = 0;     for (i = 1; i <= n; i++) {       scanf( %d %d , &x, &y);       if (x > ans) {         printf( -1 n );         continue;       }       p = lower_bound(numbers, numbers + k, (x)) - numbers;       q = lower_bound(numbers, numbers + k, (y)) - numbers;       r = 0;       for (j = q + 1; j >= p - 1; j--) {         if (numbers[j] >= x && numbers[j] <= y) {           printf( %d n , numbers[j]);           r = 1;           break;         }       }       if (!r) printf( -1 n );     }     return 0;   }   