#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define MOD 1000000007
#define FOR(i,a,b) for (int i = (a);i <= (b);i++)
#define FOD(i,a,b) for (int i = (b);i >= (a);i--)
#define ALL(x) (x).begin(),(x).end()
#define ii pair<int,int>
#define iii pair<int,pair<int,int>>
//const int MOD = 998244353;
const int MAXN = 1e6 + 7;
int a[MAXN],f[MAXN];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//freopen("cardscore.inp","r",stdin);
//freopen("cardscore.out","w",stdout);
int n;cin >> n;
FOR(i,1,n)cin >> a[i];
FOR(i,1,n){
FOR(j,2,(int)sqrt(a[i]))if (a[i] % j == 0){
while(a[i] % j == 0)a[i] = a[i] / j;
f[j]++;
}
if (a[i] > 1)f[a[i]]++;
}
FOR(i,2,MAXN - 1)if (f[i] == n)
return cout << i,0;
cout << -1;
return 0^0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIEZPUihpLGEsYikgZm9yIChpbnQgaSA9IChhKTtpIDw9IChiKTtpKyspCiNkZWZpbmUgRk9EKGksYSxiKSBmb3IgKGludCBpID0gKGIpO2kgPj0gKGEpO2ktLSkKI2RlZmluZSBBTEwoeCkgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIGlpaSBwYWlyPGludCxwYWlyPGludCxpbnQ+PgovL2NvbnN0IGludCBNT0QgPSA5OTgyNDQzNTM7CmNvbnN0IGludCBNQVhOID0gMWU2ICsgNzsKaW50IGFbTUFYTl0sZltNQVhOXTsKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIC8vZnJlb3BlbigiY2FyZHNjb3JlLmlucCIsInIiLHN0ZGluKTsKICAgIC8vZnJlb3BlbigiY2FyZHNjb3JlLm91dCIsInciLHN0ZG91dCk7CiAgICBpbnQgbjtjaW4gPj4gbjsKICAgIEZPUihpLDEsbiljaW4gPj4gYVtpXTsKICAgIEZPUihpLDEsbil7CiAgICAgICAgRk9SKGosMiwoaW50KXNxcnQoYVtpXSkpaWYgKGFbaV0gJSBqID09IDApewogICAgICAgICAgICB3aGlsZShhW2ldICUgaiA9PSAwKWFbaV0gPSBhW2ldIC8gajsKICAgICAgICAgICAgZltqXSsrOwogICAgICAgIH0KICAgICAgICBpZiAoYVtpXSA+IDEpZlthW2ldXSsrOwogICAgfQogICAgRk9SKGksMixNQVhOIC0gMSlpZiAoZltpXSA9PSBuKQogICAgcmV0dXJuIGNvdXQgPDwgaSwwOwogICAgY291dCA8PCAtMTsKICAgIHJldHVybiAwXjA7Cn0=