#include <bits/stdc++.h>

using namespace std;
#define MAXN 500005
#define MAXBIT 25
typedef long long ll;
ll a[MAXN];
int cnt[MAXBIT];
int cntt[MAXBIT];

int main()
{
    ios_base::sync_with_stdio(false);
    int n;
    cin >> n;
    for(int i = 0; i < n; i++)
    {
        cin >> a[i];
        for(int j = 0; j < MAXBIT; j++)
        {
            if(a[i]&(1LL<<j))cnt[j]^=1;
        }
    }
    //znaci samo fixiras da svi budu AND negde onda proveris da li je xor veci od jedan ako jeste to je to,ako ne onda
    //se poveca za max jedan,ili ako neki ima dve mogucnosti ostaje isti
    ll ans = 1e18;
    for(int j = 0; j < MAXBIT; j++)
    {
        ll s = 0LL;
        bool kraj = false;
        for(int k = 0; k < MAXBIT; k++)cntt[k]=cnt[k];
        for(int i = 0; i < n; i++)
        {
            if(a[i]&(1LL<<j))continue;
            ll add = (1LL<<j);
            for(int k = 0; k < MAXBIT; k++)
            {
                if(k==j)continue;
                if(a[i]&(1LL<<k))
                {
                    add=min(add,abs((1LL<<j)-(1LL<<k)));
                }
            }
            s+=add;
            for(int k = 0; k < MAXBIT; k++)
            {
                if(k==j)continue;
                if(a[i]&(1LL<<k))
                {
                    if(abs((1LL<<j)-(1LL<<k))==add)
                    {
                        cntt[k]^=1;
                        break;
                    }
                }
            }
            cntt[j]^=1;
            int cntz=0;
            for(int k = 0; k < MAXBIT; k++)
            {
                if(k==j)continue;
                if(a[i]&(1LL<<k))
                {
                    if(abs((1LL<<j)-(1LL<<k))==add)
                    {
                        cntz++;
                    }
                }
            }
            if(cntz==2)kraj=true;
        }
        for(int k = 0; k < MAXBIT; k++)
        {
            if(cntt[k]==1)
            {
                kraj=true;
                break;
            }
        }
        if(kraj)ans=min(ans,s);
        else ans=min(ans,s+1);
    }
    cout << ans;
    return 0;
}