#include <bits/stdc++.h>
#define ull unsigned long long
using namespace std;
ull n,a[200005],idx=1,b[200005],now;
bool flag=false;
int main(){
cin>>n;
for(ull i=1;i<=n;i++) cin>>a[i];
for(ull i=1;i<=n;i++){
for(ull j=1;j<=n&&i!=j;j++){
b[idx++]=a[i]%a[j];
b[idx++]=a[j]%a[i];
}
}
sort(b+1,b+idx+1,greater<int>());
now=b[1];
for(ull i=1;i<=idx;i++){
if(flag){
cout<<b[i];
return 0;
}
else if(b[i]!=now) flag=true;
}
cout<<-1;
return 0;
}