#include <bits/stdc++.h>
using namespace std;
int A[40];
map <int,int> dp[40];
int DP(int pos, int xorval)
{
	if(pos == 0)
	{
		if(xorval == 0)
			return 1;
		return 0;
	}
	if(dp[pos].find(xorval) != dp[pos].end())
		return dp[pos][xorval];
	int ans = 0, csum = 0;
	for (int i = pos; i >= 1; --i)
	{
		csum+=A[i];
		ans+=DP(i-1,(xorval^csum));
	}
	dp[pos][xorval] = ans;
	return ans;
}
int main()
{
	// freopen("input.txt", "r", stdin);
	ios_base::sync_with_stdio(0);
	int n;
	cin>>n;
	for (int i = 1; i <= n; ++i)
	{
		cin>>A[i];
	}
	cout<<DP(n,0)<<"\n";
	return 0;
}