問題文
長さ N の非負整数列 A=(A1,A2,dots,AN) 、および正整数 K が与えられます。
1leqXileqN(1leqileqK) を満たす長さ K の正整数列 X=(X1,X2,dots,XK) は NK 通り考えられますが、それらすべてに対する displaystylesumi=1KAXi のビット単位 mathrmXOR を求めてください。
ビット単位 mathrmXOR 演算とは
非負整数 A,B のビット単位 mathrmXOR 、AoplusB は、以下のように定義されます。
- AoplusB を二進表記した際の 2k (kgeq0) の位の数は、A,B を二進表記した際の 2k の位の数のうち一方のみが 1 であれば 1、そうでなければ 0 である。
例えば、3oplus5=6 となります (二進表記すると: 011oplus101=110)。
一般に k 個の非負整数 p1,p2,p3,dots,pk のビット単位 mathrmXOR は $(\\dots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\dots \\oplus p_k)$ と定義され、これは p1,p2,p3,dots,pk の順番によらないことが証明できます。
制約
- 1leqNleq1000
- 1leqKleq1012
- 0leqAileq1000
- 与えられる入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
N K
A1 A2 dots AN
出力
答えを出力せよ。
入力例 1
2 2
10 30
出力例 1
40
X として考えられるのは (X1,X2)=(1,1),(1,2),(2,1),(2,2) の 4 通りであり、それぞれに対する AX1+AX2 は 20,40,40,60 です。よって答えは 20oplus40oplus40oplus60=40 となります。
入力例 2
4 10
0 0 0 0
出力例 2
0
入力例 3
11 998244353
314 159 265 358 979 323 846 264 338 327 950
出力例 3
236500026047