# include <cstdio> # include <map> using namespace std; int n; int a[64]; int psum[64]; int cnt; map <pair <int, int>, int> ma; int go (int x, int sum) { int i, csum = a[x], cans = 0; if (x > n) return 0; if (ma.find (make_pair (x, sum)) != ma.end ()) return ma[make_pair (x, sum)]; cans += go (x + 1, sum ^ csum); for (i = x + 1; i <= n; i ++) { csum += a[i]; if ((csum ^ sum) == (psum[n] ^ psum[i])) cans ++; cans += go (i + 1, csum ^ sum); } ma[make_pair (x, sum)] = cans; return cans; } int main () { int i, t = 0; scanf ("%d", &n); for (i = 1; i <= n; i ++) { scanf ("%d", &a[i]); t ^= a[i]; psum[i] = psum[i - 1] ^ a[i]; } cnt = go (1, 0); if (!t) cnt ++; printf ("%d\n", cnt); return 0; }