#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; #define range(i,a,b) for(int i=(a); i < (b); i++) #define rep(i,n) range(i,0,n) #define MAX_INT 2147483647 int main(){ int N, M = 1<<15, ans = 0; vector < vector > dp; cin >> N; LL A[N]; dp = vector >(N, vector (M, 0)); rep(i,N) cin >> A[i]; dp[0][0] = 1; dp[0][A[0]] = 1; rep(i,N-1){ rep(j,M){ if(dp[i][j]){ dp[i+1][j] = 1; dp[i+1][j^A[i+1]] = 1; } } } rep(i,M) ans += dp[N-1][i]; cout << ans << endl; return 0; }