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