I. Identify the Feasibility
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Recently, Colin has been learning the relationship between sets and bitmasks. We can use binary numbers (bitmasks) to represent sets, and if some bits are 1 in the bitmask, then it means that the sets include the elements corresponding to the indices of these bits.

Now Colin has $$$n$$$ non-negative integers $$$a_1, a_2, \cdots, a_n$$$ and all these integers are less than $$$2^k$$$. Now Colin tries to use the concept of bitmasks and sets to understand the relationship between these integers.

For a non-negative integer $$$x \in\left[0,2^k\right)$$$, Colin defines that $$$a_i$$$ is feasible with $$$a_j$$$ under the augmentation of $$$x$$$, if and only if the set corresponding to the bitmask $$$a_i+x$$$ is a subset of the set corresponding to the bitmask $$$a_j+x$$$. Then Colin uses $$$f(x)$$$ to represent the number of all the pairs $$$(i, j)$$$ such that $$$a_i$$$ is feasible with $$$a_j$$$ under the augmentation of $$$x$$$.

Now Colin would like to ask you to calculate the sum of all the $$$f(x)$$$, modulo $$$998244353$$$ .

Formally, please calculate

$$$$$$ \left(\sum_{x=0}^{2^k-1} f(x)\right) \bmod 998244353 $$$$$$

Input

The first line contains two integers $$$n,k~(1\le n\le 10^6, 1\le k\le 20)$$$, representing the number of integers Colin has and all of these integers are less than $$$2^k$$$.

The following line contains $$$n$$$ integers $$$a_1, a_2, \cdots, a_n\left(0 \leq a_i \lt 2^k\right)$$$.

Output

Output a single integer, representing the answer.

Example
Input
2 2
2 0
Output
10
Note

$$$f(0)=3:(1,1),(2,1),(2,2)$$$

$$$f(1)=3:(1,1),(2,1),(2,2)$$$

$$$f(2)=2:(1,1),(2,2)$$$

$$$f(3)=2:(1,1),(2,2)$$$