import sys,random input=sys.stdin.readline N,X=map(int,input().split()) A=list(map(int,input().split())) def solve_not_convolute(): data = [0 for i in range(2**18)] for i in range(N): data[A[i]] += 1 cum = [data[i] for i in range(2**18)] cum_bit = [[data[i] * (i>>j & 1) for j in range(18)] for i in range(2**18)] for i in range(1,2**18): for j in range(18): cum_bit[i][j] += cum_bit[i-1][j] cum[i] += cum[i-1] def cnt_s(r,x): id = x res = [0 for i in range(18)] cnt = 0 for i in range(18,-1,-1): if r>>i &1: L = (id >> i) << i R = L + (1 << i) - 1 cnt += cum[R] - cum[L-1] * (L>0) for j in range(18): res[j] += cum_bit[R][j] - cum_bit[L-1][j] * (L>0) id ^= (1 << i) S = 0 for i in range(18): if x >> i & 1: S += (1 << i) * cnt else: S += (1 << i) * res[i] return S res = 0 for i in range(N): res += cnt_s(X,A[i]) res -= sum(A) res //= 2 return res print(solve_not_convolute())