#include <bits/stdc++.h>   using namespace std;   bool isPowerOfTwo(int x) { return (x && !(x & (x - 1))); }   bool is_prime(int n) {     if (n == 1) return false;     for (int i = 2; i <= sqrt(n); i++) {       if (n % i == 0) {         return false;       }     }     return true;   }   void solve() {     int n;     cin >> n;     long long int a, b;     cin >> a >> b;     set<long long int> st;     st.insert(a);     st.insert(b);     for (int i = 2; i * i <= a; i++) {       if (a % i == 0) {         st.insert(i);         st.insert(a / i);       }     }     for (int i = 2; i * i <= b; i++) {       if (b % i == 0) {         st.insert(i);         st.insert(b / i);       }     }     map<pair<long long int, long long int>, long long int> ch;     ch[{a, b}]++;     for (int i = 1; i < n; i++) {       cin >> a >> b;       if (ch[{a, b}] >= 1) continue;       ch[{a, b}]++;       for (auto it = st.begin(); it != st.end();) {         long long int k = *it;         if (a % k == 0 || b % k == 0) {           it++;         } else {           it = st.erase(it++);         }       }     }     if (st.empty())       cout <<  -1 ;     else       cout << (*st.begin());   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     int t = 1;     while (t--) {       solve();     }     return 0;   }   