#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]; bool dp[(1<<15)+1]; fill(dp, dp + (1 << 15) + 1, false); dp[0] = true; for (int i = 0; i < N; i++) { for (int j = 0; j <= (1 << 15); j++) { if (!dp[j]) continue; dp[j ^ A[i]] = true; } } int ans = 0; for (int i = 0; i <= (1 << 15); i++) ans += dp[i]; cout << ans << endl; return 0; }