#include #include using namespace std; int main(void) { int n; int a[5000]; unordered_map dp; cin >> n; for(int i = 0; i < n; i++) cin >> a[i]; dp[0] = true; for(int i = 0; i < n; i++) { unordered_map buf; for(auto p : dp) { int x = a[i] ^ p.first; if(dp.count(x) > 0 || buf.count(x) > 0) continue; buf[x] = true; } for(auto t : buf) dp[t.first] = true; } cout << dp.size() << endl; return 0; }