#arc156d. [arc156_d]Xor Sum 5

[arc156_d]Xor Sum 5

問題文

長さ NN の非負整数列 A=(A1,A2,dots,AN)A=(A_1,A_2,\\dots,A_N) 、および正整数 KK が与えられます。

1leqXileqN(1leqileqK)1 \\leq X_i \\leq N\\ (1\\leq i \\leq K) を満たす長さ KK の正整数列 X=(X1,X2,dots,XK)X=(X_1,X_2,\\dots,X_K)NKN^K 通り考えられますが、それらすべてに対する displaystylesumi=1KAXi\\displaystyle \\sum_{i=1}^{K} A_{X_i} のビット単位 mathrmXOR\\mathrm{XOR} を求めてください。

ビット単位 mathrmXOR\\mathrm{XOR} 演算とは

非負整数 A,BA, B のビット単位 mathrmXOR\\mathrm{XOR}AoplusBA \\oplus B は、以下のように定義されます。

  • AoplusBA \\oplus B を二進表記した際の 2k2^k (kgeq0k \\geq 0) の位の数は、A,BA, B を二進表記した際の 2k2^k の位の数のうち一方のみが 11 であれば 11、そうでなければ 00 である。

例えば、3oplus5=63 \\oplus 5 = 6 となります (二進表記すると: 011oplus101=110011 \\oplus 101 = 110)。
一般に kk 個の非負整数 p1,p2,p3,dots,pkp_1, p_2, p_3, \\dots, p_k のビット単位 mathrmXOR\\mathrm{XOR} は $(\\dots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\dots \\oplus p_k)$ と定義され、これは p1,p2,p3,dots,pkp_1, p_2, p_3, \\dots, p_k の順番によらないことが証明できます。

制約

  • 1leqNleq10001 \\leq N \\leq 1000
  • 1leqKleq10121 \\leq K \\leq 10^{12}
  • 0leqAileq10000 \\leq A_i \\leq 1000
  • 与えられる入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN KK A1A_1 A2A_2 dots\\dots ANA_N

出力

答えを出力せよ。


入力例 1

2 2
10 30

出力例 1

40

XX として考えられるのは (X1,X2)=(1,1),(1,2),(2,1),(2,2)(X_1,X_2)=(1,1),(1,2),(2,1),(2,2)44 通りであり、それぞれに対する AX1+AX2A_{X_1}+A_{X_2}20,40,40,6020,40,40,60 です。よって答えは 20oplus40oplus40oplus60=4020 \\oplus 40 \\oplus 40 \\oplus 60=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