题目描述
小H是个善于思考的学生,她正在思考一个有关序列的问题。
她的面前浮现出了一个长度为n的序列ai,她想找出两个非空的集合S、T。
这两个集合要满足以下的条件:
1.两个集合中的元素都为整数,且都在 [1,n]里,即Si,Ti∈ [1,n]。
2.对于集合S中任意一个元素x,集合T中任意一个元素y,满足x<y。
3.对于大小分别为p,q的集合S与T,满足
a[s1]xora[s2]xora[s3]...xora[sp]=a[t1]anda[t2]anda[t3]...anda[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={3,4} 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