#include using namespace std; int N; int A[5010]; const int M=32768; bool dp[5010][32768]; int main(){ cin >> N; for(int i = 0; i < N; i++) cin >> A[i]; memset(dp, 0, sizeof(dp)); dp[0][0] = 1; for(int i = 0; i < N; i++) for(int j = 0; j < M; j++) { if(dp[i][j]) { dp[i+1][j] = 1; dp[i+1][j ^ A[i]] = 1; } } int ans = 0; for(int i = 0; i < M; i++) if(dp[N][i]) ans++; cout << ans << endl; return 0; }