#include<bits/stdc++.h> using namespace std; typedef long long int uli; map<pair<int,int>,uli>mp; const int mx=40; int n; int d[mx]; uli solve(int i,int x){ if(i==n){ if(x==0)return 1; return 0; } pair<int,int>key(i,x); if(mp.count(key)!=0)return mp[key]; int s=0; uli ans=0; for(int j=i;j<n;j++){ s+=d[j]; ans+=solve(j+1,s^x); } mp[key]=ans; return ans; } int main(){ // freopen("data.in","r",stdin); scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",d+i); uli ans=solve(0,0); printf("%lld\n",ans); return 0; }