import sys def input(): return sys.stdin.readline().rstrip() """ Do not get stuck on a problem for more than 20 minutes Just check the editorial :) There should be something else to do insead """ MOD = int(1e9 + 7) from collections import defaultdict def slv(): n = int(input()) a = list(map(int,input().split())) for i in range(1,n): a[i]^=a[i - 1] ans = 0 d = defaultdict(list) for i,v in enumerate(a): d[v].append(i + 1) dp = [0]*(n + 10) sumdp = [0]*(n + 10) prev = [-1]*(n + 10) for v,li in d.items(): for i in range(1,len(li)): prev[li[i]] = li[i - 1] dp[0] = 1 sumdp[0] = 1 for i in range(1,n): previ = prev[i] if previ != -1: dp[i] = sumdp[i - 1] - sumdp[previ - 1] dp[i] %= MOD else: dp[i] = sumdp[i - 1] sumdp[i] = (sumdp[i - 1] + dp[i]) % MOD ans = sumdp[n - 1] % MOD print(ans) return def main(): t = 1 for i in range(t): slv() return if __name__ == "__main__": main()