#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { int n; cin >> n; int a[n]; bool memo[32769]; memset(memo, false, sizeof(memo)); memo[0] = true; for (int i = 0; i < n; i++) { int t; cin >> t; a[i] = t; memo[t] = true; } for (int i = 0; i < n; i++) { for (int j = 0; j < 32769; j++) { if (!memo[j]) continue; memo[j^a[i]] = true; } } int ans = 0; for (int i = 0; i < 32769; i++) { ans += memo[i]; } std::cout << ans << std::endl; }