#include <iostream>

using namespace std;
#define N_MAX 500005
int a[N_MAX],n;
int xoor,aand;
int rez;

bool xooor()
{
    xoor=a[1];
    for(int i=2;i<=n;i++) xoor^=a[i];
    return xoor>0;
}

bool aaand()
{
    aand=a[1];
    for(int i=2;i<=n;i++) aand&=a[i];
    return aand>0;
}

int v_min(int x,int y)
{
    return ((x<y)?x:y);
}

void backtrack(int k,int p)
{
    if(k==n+1)
    {
        if(xooor() && aaand()) rez=v_min(rez,p);
        return ;
    }
    a[k]-=3;
    backtrack(k+1,p+3);
    a[k]++;
    backtrack(k+1,p+2);
    a[k]++;
    backtrack(k+1,p+1);
    a[k]++;
    backtrack(k+1,p);
}

int main()
{
    int i;
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    rez=3*n;
    backtrack(1,0);
    cout<<rez<<endl;
    return 0;
}