#include<bits/stdc++.h>
using namespace std;
#define int long long
map<int,int>mp;
signed main(){
int n,mx1=-1,mx2=-1,ans1=-1,ans2=-1,cnt=0;
scanf("%lld",&n);
for(int i=1;i<=n;i++){
int a;
scanf("%lld",&a);
if(!mp[a]){cnt++;mp[a]=1;}
if(i<=1){
mx1=a;
continue;
}
if(a>mx1){
mx2=mx1;
mx1=a;
}else{
if(a>mx2) mx2=a;
}
int b;
b=mx2%mx1;
if(b>ans1){
ans2=ans1;
ans1=b;
}else{
if(b>ans2&&b!=ans1) ans2=b;
}
b=mx1%mx2;
if(b>ans1){
ans2=ans1;
ans1=b;
}else{
if(b>ans2&&b!=ans1) ans2=b;
}
}
if(cnt<=2) printf("-1\n");
else printf("%lld\n",ans2);
return 0;
}