#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
int a[64],n;
unordered_map<int,ull> f[64];
int main(){
	cin >> n;
	for(int i=1;i<=n;++i)cin >> a[i];
	for(int i=1;i<=n;++i)a[i]+=a[i-1];
	f[0][0]=1;
	for(int i=0;i<n;++i)
		for(int j=i+1;j<=n;++j){
			const int tmp=a[j]-a[i];
			for(auto p:f[i])f[j][p.first^tmp]+=p.second;
		}
	cout << f[n][0] << endl;
}