N = int(input()) A = list(map(int, input().split())) dp = [0]*N dp[0] = 1 mem = {} now = 0 mod = int(1e9+7) for i in range(N-1): now ^= A[i] dp[i+1] = dp[i]*2 if now in mem.keys(): dp[i+1] -= dp[mem[now]] dp[i+1] %= mod #この部分謎なので消してテスト #if dp[i+1] < 0: # dp[i+1] += dp[i+1] mem[now] = i print(dp[N-1])