#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<long long>a,b;
long long x;
vector<long long>::iterator it,jt;
bool cmp(long long a,long long b){
return a>b;
}
int main(){
int n;scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%lld",&x);a.push_back(x);
}
for(it=a.begin();it!=a.end();it++){
for(jt=a.begin();jt!=a.end();jt++){
if(it!=jt){
b.push_back(*it%*jt);
}
}
}
sort(b.begin(),b.end(),cmp);
b.erase(unique(b.begin(),b.end()),b.end());
if(b.size()<2)printf("-1");
else{
it=b.begin()+1;
printf("%lld",*it);
}
return 0;
}