2611: 序列问题

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:5 解决:3

题目描述

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

她的面前浮现出了一个长度为n的序列{ai},她想找出两个非空的集合ST

这两个集合要满足以下的条件:

  1. 两个集合中的元素都为整数,且都在[1, n] 里,即SiTi ∈ [1, n]

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

  3. 对于大小分别为p, q的集合ST,满足

a[s1] xor a[s2] xor a[s3] ... xor a[sp] = a[t1] and a[t2] and a[t3] ... and a[tq].

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

 

输入

第一行,一个整数n

第二行,n个整数,代表ai

 

输出

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

 

样例输入 复制

4 
1 2 3 3

样例输出 复制

4

提示

S = {1,2}, T = {3}1 ^ 2 = 3 = 3 (^为异或)

S = {1,2}, T = {4}, 1 ^ 2 = 3 = 3

S = {1,2}T = {34} 1 ^ 2 = 3 & 3= 3 &为与运算)

S = {3}T = {4} 3 = 3 = 3

 

30%: 1 <= n <= 10

60%: 1 <= n <= 100

100%: 1 <= n <= 1000, 0 <= ai < 1024