#include <bits/stdc++.h>
using namespace std;

int n,lcnt=-1;
bool bin[500005][63];
long long in,minop=1000000,res=10000000;
vector<long long> v,vc;

int main()
{
    ios::sync_with_stdio(false);
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>in;
        v.push_back(in);
        for(long long j=1,k=0;j<=(1ll<<60);j<<=1,k++)
        {
            bin[i][k]=((in&j)>0);
        }
    }
    vc=v;
    long long pw=1;
    for(int i=0;i<=60;i++,pw<<=1)
    {
        long long op=0;
        int cnt=0;
        for(int j=0;j<n;j++)
        {
            if(!bin[j][i])
            {
                cnt++;
                if(op>minop)
                {
                    continue;
                }
                op+=pw-v[j]%pw;
            }
        }
        if(cnt%2==1)
        {
            lcnt=i;
        }
        if(op<minop)
        {
            minop=op;
        }
    }
    pw=1;
    for(int i=0;i<=60;i++,pw<<=1)
    {
        long long op=0;
        for(int j=0;j<n;j++)
        {
            if(!bin[j][i])
            {
                op+=pw-v[j]%pw;
            }
            if(op>minop+2)
            {
                break;
            }
        }
        if(op>minop+2)
        {
            continue;
        }
        for(int j=0;j<n;j++)
        {
            if(bin[j][i])
            {
                vc[j]=v[j];
            }
            else
            {
                vc[j]=v[j]+pw-v[j]%pw;
            }
        }
        if(i==0)
        {
            if(i<lcnt || n%2==1)
            {
                res=min(res,op);
            }
            else
            {
                res=min(res,op+2);
            }
        }
        else
        {
            if(i<lcnt || n%2==1)
            {
                res=min(res,op);
            }
            else
            {
                res=min(res,op+1);
            }
        }
    }
    cout<<res;
}