#include <bits/stdc++.h>
#define int long long
#define fro for
using namespace std;
int n,a[514514];
int mod[514514]={-114514},tail=1;
bool used[514514]={};
vector<int>ans;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
//freopen ("aaa.in","r",stdin);
//freopen (".out","w",stdout);
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>a[i];
}
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
if (i!=j)
mod[tail++]=a[i]%a[j];
}
}
//cout<<1;
tail--;
sort(mod+1,mod+1+tail);
for (int i=1;i<=tail;i++)
{
if (mod[i-1]==mod[i])
{
used[i]=1;
//cout<<mod[i];
}
}
//cout<<2;
int leave=0;
for (int i=1;i<=tail;i++)
{
if (!used[i])
leave++;
}
if (leave<2)
{
cout<<-1;
return 0;
}
//cout<<3;
for (int i=1;i<=tail;i++)
{
if (!used[i])
{
ans.push_back(mod[i]);
}
}
//cout<<4;
cout<<ans[ans.size()-2];
return 0;
}
/*
0 0 1 1 1 1 2 4 4 4 5 5
0 1 0 1 1 1 0 0 1 1 0 1
*/