#include<bits/stdc++.h> #define ll int #define S(n) scanf("%d",&(n)) #define P(n) printf("%d",(n)) #define SL(n) scanf("%d",&(n)) #define PL(n) printf("%d",(n)) #define NL printf("\n") #define SP printf(" ") #define REP(a,b,c) for(int i=(a);i<=(b);i+=(c)) #define Debug cout<<"Hello" #define N 100000 #define M 1000000007 using namespace std; map<ll, ll>mp[52]; ll a[52]; int n; ll f(int i, ll x) { if(i>n)return (x==0); if(i==n) { return (a[i]==x); } if(mp[i][x]!=0)return mp[i][x]; ll sm = 0; ll ans = 0; for(int j=i;j<=n;j++) { sm+=a[j]; ans += f(j+1, x^sm); } return mp[i][x] = ans; } int main() { //freopen("input.txt","r",stdin); S(n); for(int i=1;i<=n;i++) { SL(a[i]); } PL(f(1, 0)); return 0; }