#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; }