N = int(raw_input()) A = map(int, raw_input().split()) dp = [[0]] for i in range(0, N): newdp = [] for j in range(0, len(dp[i])): newdp.append(dp[i][j]) for j in range(0, len(dp[i])): if dp[i][j] ^ A[i] not in newdp: newdp.append(dp[i][j]^A[i]) dp.append(newdp) print len(dp[N])