函数求和

题目

给定nn个整数a1,a2,,ana_1, a_2, \dots, a_n和正整数kk满足(0ai2k1)(0 \leq a_i \leq 2^k - 1)

定义函数f(x)f(x)为满足ai&xaia_i \& x \neq a_i的最小的ii,当满足条件的ii不存在时 f(x)=0f(x)=0

i=02k1f(i)\sum_{i = 0}^{2^k - 1}f(i)。 由于答案可能很大,输出答案取模998244353998244353后的值。

输入格式

第一行两个数字nn, kk

接下来一行nn个整数 a1,a2,,ana_1, a_2, \dots, a_n,表示这nn个数。

输出格式

一行一个整数,表示答案。

样例输入1

2 1
0 1

样例输出1

2

样例输入2

2 2
2 1

样例输出2

4

样例输入3

5 10
389 144 883 761 556

样例输出3

1118

样例解释

对于样例1, f(0)=2f(0) = 2, f(1)=0f(1) = 0, 答案 =2= 2

数据规模

所有数据保证 1n100,1k601\leq n \leq 100, 1 \leq k \leq 60