#include <bits/stdc++.h>

using namespace std;

#define X first
#define Y second
#define INPUT freopen("world.inp","r",stdin)
#define OUTPUT freopen("world.out","w",stdout)
#define FOR(i,l,r) for(auto i=l;i<=r;i++)
#define REP(i,l,r) for(auto i=l;i<r;i++)
#define FORD(i,l,r) for(auto i=l;i>=r;i--)
#define REPD(i,l,r) for(auto i=l;i>r;i--)
#define ENDL printf("\n")
#define debug 1

typedef long long ll;
typedef pair<int,int> ii;

const int inf=1e9;
const int MOD=1e9+7;
const int N=20;

ll lsum[N],rsum[N];
vector <ll> lb[N],rb[N];
int a[N<<1],n;
void prepare(){
    scanf("%d",&n);
    REP(i,0,n) scanf("%d",a+i);
}
ll solve(){
    int m=n/2;
//    cout<<m<<'\n';
    FOR(j,0,n-m-1){
        FOR(i,0,j) rsum[j]+=a[m+i];
        REP(i,0,1<<(n-m-j-2)){
            ll cur,fin=0;
            REP(k,0,n-m-j-1){
                cur=a[m+j+k+1];
                while (i&(1<<k)) k++,cur+=a[m+j+k+1];
                fin^=cur;
            }
            rb[j].push_back(fin);
//            printf("%d %d %lld\n",j,i,fin);
        }
        if (j==n-m-1) rb[j].push_back(0);
        sort(rb[j].begin(),rb[j].end());
    }
    FOR(j,0,m){
        REP(i,0,j) lsum[j]+=a[m-i-1];
        REP(i,0,1<<(m-j-1)){
            ll cur=0,fin=0;
            REP(k,0,m-j){
                cur=a[k];
                while (i&(1<<k)) cur+=a[++k];
                fin^=cur;
            }
            lb[j].push_back(fin);
//            printf("%d %d %lld\n",j,i,fin);
        }
        if (j==m) lb[j].push_back(0);
        sort(lb[j].begin(),lb[j].end());
    }
    ///
//    ENDL;
    ll ans=0;
    FOR(L,0,m)
        REP(R,0,n-m){
            ll sum=lsum[L]+rsum[R];
            int m1=lb[L].size();
            REP(i,0,m1){
                int len=1;
                while (i<m1-1&&lb[L][i+1]==lb[L][i]) i++,len++;
                ll tar=sum^lb[L][i];
//                cout<<L<<" "<<lb[L][i]<<" "<<tar<<'\n';
                ans+=1LL*(upper_bound(rb[R].begin(),rb[R].end(),tar)-lower_bound(rb[R].begin(),rb[R].end(),tar))*len;
            }
        }
    return ans;
}
int main(){
    prepare();
    cout<<solve();
}