#ZK1041. 整理数字

整理数字

题目描述

小明正在整理一份由正整数组成的数字列表,他需要统计所有满足以下条件的连续区间 [i,j][i, j](即从第 ii 个数到第 jj 个数,包含两端)的数量:

  1. 区间内所有数的 最大公约数(gcd)AA
  2. 区间内所有数的 按位或结果(or)BB
  3. 这两个值ABA、B进行 异或运算(xor) 的结果等于给定的整数 kk

输入格式

  • 第一行:两个整数 nn(数字列表的长度)和 kk(给定的目标异或值)。
  • 第二行:nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n

输出格式

一个整数,表示满足条件的连续区间 [i,j][i, j] 的数量。

输入输出样例

样例输入 1

5 6  
2 4 3 4 2  

样例输出 1

8  

说明/提示

  • 对于 60% 的数据,n104n \leq 10^4
  • 对于 100% 的数据,1n,ai5×1051 \leq n, a_i \leq 5 \times 10^5