# include <cstdio>
# include <map>

using namespace std;

int n;
int a[64];
int psum[64];
int cnt;

map <pair <int, int>, int> ma;

int go (int x, int sum)
{
	int i, csum = a[x], cans = 0;
	if (x > n)
		return 0;
	if (ma.find (make_pair (x, sum)) != ma.end ())
		return ma[make_pair (x, sum)];
	cans += go (x + 1, sum ^ csum);
	for (i = x + 1; i <= n; i ++)
	{
		csum += a[i];
		if ((csum ^ sum) == (psum[n] ^ psum[i]))
			cans ++;
		cans += go (i + 1, csum ^ sum);
	}
	ma[make_pair (x, sum)] = cans;
	return cans;
}

int main ()
{
	int i, t = 0;
	scanf ("%d", &n);
	for (i = 1; i <= n; i ++)
	{	
		scanf ("%d", &a[i]);
		t ^= a[i];
		psum[i] = psum[i - 1] ^ a[i];
	}
	cnt = go (1, 0);
	if (!t)
		cnt ++;
	printf ("%d\n", cnt);
	return 0;
}