#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[16385]; 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 < 16385; j++) { if (!memo[j]) continue; memo[memo[j]^a[i]] = true; } } int ans = 0; for (int i = 0; i < 16385; i++) { ans += memo[i]; } std::cout << ans << std::endl; }