T204213 异或序列

题目描述

小A有一个数列 a1,a2,…,an。有一天,小B 拿来了一个正整数 X。小A 是一个特别 喜欢异或(xor)运算的孩子,她也很喜欢 小B。于是,小A 就想知道,自己能找到 多少对数$ (i,j) $能够满足$ a[i] xor a[j] =X $。两个数对$ (i1,j1) $与$ (i2,j2)$不同,当且仅当$ i1≠i2 $,或者$ j1≠j2 $。

输入格式

第一行两个正整数$ n,X $,分别表示数列的长度以及 小B 带来的整数。 第二行包含$ n $个正整数,表示数列 {an} 。

输出格式

一行一个整数表示答案

说明/提示

对于 50%的数据,$ 1≤n≤2000 $。 对于接下来 20%的数据,$ 1≤ai≤100000 $。 对于 100%的数据,$ 1≤n≤1000000,1≤ai≤1 073 741 824,1≤X≤1 073 741 824 $。