#include #include #include using namespace std; int main(void) { int N; vector A; cin >> N; A.resize(N); for (int i = 0; i < N; i++) cin >> A[i]; int dp[(1<<15)+1]; bool dbl = false; dp[0] = 1; for (int i = 0; i < N; i++) { if (A[i] == (1 << 14)) { dbl = true; continue; } for (int j = 0; j < (1 << 14); j++) dp[j^A[i]] = dp[j]; } int ans = 0; for (int i = 0; i < (1 << 14); i++) { ans += dp[i]; } if (dbl) ans *= 2; cout << ans << endl; return 0; }