#include <iostream>

using namespace std;

int xor_niza(int *arr,int n){
    int xoor=arr[0];
    for(int i=1;i<n;i++){
        xoor= xoor ^ arr[i];
    }
    return xoor;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, i, j, temp;
    int min_broj=0;
    int xoor=0;
    int annd=1;
    int nule_xor= 0;
    cin >> n;
    bool *nule_and= new bool[n-1];
    int *arr= new int[n];
    for(i=0;i<n;i++){
            cin >> arr[i];
            if(i>0){
                if(arr[i]&arr[i-1])
                    nule_and[i-1]=false;
                else
                    nule_and[i-1]=true;
                if(!(arr[i]^arr[i-1]))
                    nule_xor++; //NE MENJAJ NJIHOVU PARNOST
            }
    }
    for(i=0;i<n-1;i++){
        if(nule_and[i]){
                j=i;
                temp=arr[j];
            if(j==0){
                if((arr[j]+1) & arr[j+1]){
                    arr[j]=arr[j]+1;
                    if(xor_niza(arr,n)){
                        min_broj++;
                        goto naso;
                    }
                }
                if(temp!=arr[j])
                    arr[j]=arr[j]-1;
                if((arr[j]-1) & arr[j+1]){
                    arr[j]=arr[j]-1;
                    if(xor_niza(arr,n)){
                        min_broj++;
                        goto naso;
                    }
                }
            }
            else{
                if(((arr[j]+1) & arr[j+1]) && ((arr[j]+1) & arr[j-1])){
                    arr[j]=arr[j]+1;
                    if(xor_niza(arr,n)){
                        min_broj++;
                        goto naso;
                    }
                }
                if(temp!=arr[j])
                    arr[j]=arr[j]-1;
                if(((arr[j]-1) & arr[j+1]) && ((arr[j]-1) & arr[j-1])){
                    arr[j]=arr[j]-1;
                    if(xor_niza(arr,n)){
                        min_broj++;
                        goto naso;
                    }
                }

            }
        }
        naso:
            i=i;
    }
    cout << min_broj;
    return 0;
}