#1987. 序列问题

序列问题

题目描述

H\red{H}是个善于思考的学生,她正在思考一个有关序列的问题。

她的面前浮现出了一个长度为n\red{n}的序列ai\red{{ai},}她想找出两个非空的集合S\red{S}T\red{T}。 这两个集合要满足以下的条件:

1.\red{1. }两个集合中的元素都为整数,且都在 [1,n]\red{[1, n] }里,即Si\red{Si,}Ti\red{Ti ∈} [1,n]\red{[1, n]}

2.\red{2. }对于集合S\red{S}中任意一个元素x\red{x,}集合T\red{T}中任意一个元素y\red{y,}满足x<y\red{x < y}

3.\red{3. }对于大小分别为p,q\red{p, q}的集合S\red{S}T\red{T,}满足 a[s1]xora[s2]xora[s3]...xora[sp]=a[t1]anda[t2]anda[t3]...anda[tq].\red{a[s1] xor a[s2] xor a[s3] ... xor a[sp] = a[t1] and a[t2] and a[t3] ... and a[tq].}

H\red{H}想知道一共有多少对这样的集合(S,T)\red{(S,T),}你能帮助她吗?

输入格式

第一行,一个整数n\red{n}

第二行,n\red{n}个整数,代表ai\red{ai}

输出格式

仅一行,表示最后的答案。

样例

输入样例

4 
1 2 3 3

输出样例

4

提示

样例解释 S={1,2},T={3}\red{S = \{1,2\}, T = \{3\},}   1Λ2=3=3(Λ\red{~~1 \Lambda 2 = 3 = 3 (\Lambda}为异或)\red{)}

S={1,2},T={4},  1Λ2=3=3\red{S = \{1,2\}, T = \{4\}, ~~1 \Lambda 2 = 3 = 3}

S={1,2}\red{S = \{1,2\},} T={3\red{T = \{3,}4}  1Λ2=3&3=3\red{4\} ~~ 1 \Lambda 2 = 3 \& 3 = 3 (}&\red{\&}为与运算)

S={3}\red{S = \{3\},} T={4}  3=3=3\red{T = \{4\} ~~ 3 = 3 = 3 }

数据范围 30%:1<=n<=10\red{30\%: 1 <= n <= 10}

60%:1<=n<=100\red{60\%: 1 <= n <= 100}

100%:1<=n<=1000,0<=ai<1024\red{100\%: 1 <= n <= 1000, 0 <= ai < 1024}