#include #include #include #include using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) bool contain(int i, int pos){ if(i & (1 << pos)) return true; else return false; } bool dp[(1 << 15) + 10] = {0}; int main(void){ int n; cin >> n; vector a(n); rep(i, n) cin >> a[i]; dp[0] = true; for (int i = 0; i < n; ++i){ for (int j = 0; j < (1 << 15); ++j){ if(dp[j]){ int x = j ^ a[i]; dp[x] = true; } } } int ans = 0; rep(i, (1 << 15)) if(dp[i]) ans++; cout << ans << endl; return 0; }