#include<bits/stdc++.h>
#define ll int
#define S(n) scanf("%d",&(n))
#define P(n) printf("%d",(n))
#define SL(n) scanf("%d",&(n))
#define PL(n) printf("%d",(n))
#define NL printf("\n")
#define SP printf(" ")
#define REP(a,b,c) for(int i=(a);i<=(b);i+=(c))
#define Debug cout<<"Hello"
#define N 100000
#define M 1000000007
using namespace std;
map<ll, ll>mp[52];
ll a[52];
int n;
ll f(int i, ll x)
{
    if(i>n)return (x==0);
	if(i==n)
	{
		return (a[i]==x);
	}
	if(mp[i][x]!=0)return mp[i][x];
	ll sm = 0;
	ll ans = 0;
	for(int j=i;j<=n;j++)
	{
		sm+=a[j];
		ans += f(j+1, x^sm);
	}
	return mp[i][x] = ans;
	
	
}
int main()
{
	
	//freopen("input.txt","r",stdin);
	

	
	S(n);
	
	for(int i=1;i<=n;i++)
	{
		SL(a[i]);
	}
	
	PL(f(1, 0));
	
	
	
	
	
	
	
	return 0;
	
}