406783: GYM102538 I Ignore Submasks
Description
You are given an array of $$$n$$$ integers, $$$a_1, a_2, \ldots, a_n$$$. Each integer is between $$$0$$$ and $$$2^k-1$$$, inclusive.
Let's say that $$$f(x)$$$ is the smallest $$$i$$$, such that $$$(a_i \& x) \neq a_i$$$, or $$$0$$$, if there are no such $$$i$$$. $$$(a \& b)$$$ is the bitwise AND operation.
Find $$$f(0) + f(1) + \ldots + f(2^k-1)$$$. As this value may be very large, find it modulo $$$998\,244\,353$$$.
InputThe first line contains two integers: $$$n,k$$$ ($$$1 \leq n \leq 100, 1 \leq k \leq 60$$$).
The next line contains $$$n$$$ integers: $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \leq a_i < 2^k$$$).
OutputPrint one integer: $$$f(0) + f(1) + \ldots + f(2^k-1)$$$, modulo $$$998\,244\,353$$$.
ExamplesInput2 1 0 1Output
2Input
2 2 2 1Output
4Input
5 10 389 144 883 761 556Output
1118Note
In the first example, $$$f(0) = 2, f(1) = 0$$$.
In the second example, $$$f(0) = 1, f(1) = 1, f(2) = 2, f(3) = 0$$$.