#include #include using namespace std; static const int NMAX = 5000; static const int AMAX = 16384; int main(){ int N, memo[NMAX + 1][AMAX + 1], A[NMAX]; cin >> N; for(int i = 0; i < N; i++) cin >> A[i]; for(int i = 0; i <= NMAX; i++){ for(int j = 0; j <= AMAX; j++){ memo[i][j] = 0; } } memo[0][0] = 1; for(int i = 0; i < N; i++){ for(int j = 0; j <= AMAX; j++){ memo[i + 1][memo[i][j] ^ A[0]]++; } } int result = 0; for(int i = 0; i <= AMAX; i++){ if(memo[N][i] > 0) result++; } cout << result << endl; }