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