#include <iostream> #include <map> using namespace std; typedef pair<int,int> pii; int arr[36]; int n; map<pii, int> memo; int solve(int p, int x) { if (p==n) { if (x==0) return 1; return 0; } if (memo.find(pii(p,x))!=memo.end()) { return memo[pii(p,x)]; } int sum = 0; int ans = 0; for (int i=p; i<n; i++) { sum = sum + arr[i]; ans = ans + solve(i+1, x^sum); } memo[pii(p,x)] = ans; return ans; } int main() { cin>>n; for (int i=0; i<n; i++) { cin>>arr[i]; } cout<<solve(0, 0)<<endl; }