Dany jest ciąg $n$ liczb całkowitych $a_1, a_2, \dots, a_n$. Każda liczba mieści się w przedziale od $0$ do $2^k - 1$ włącznie.
Niech $f(x)$ będzie najmniejszym indeksem $i$ takim, że $(a_i \& x) \neq a_i$, lub $0$, jeśli nie istnieje takie $i$. $(a \& b)$ oznacza operację bitowego AND.
Oblicz $f(0) + f(1) + \dots + f(2^k - 1)$. Ponieważ ta wartość może być bardzo duża, oblicz ją modulo $998\,244\,353$.
Wejście
W pierwszej linii znajdują się dwie liczby całkowite: $n, k$ ($1 \le n \le 100, 1 \le k \le 60$).
W drugiej linii znajduje się $n$ liczb całkowitych: $a_1, a_2, \dots, a_n$ ($0 \le a_i < 2^k$).
Wyjście
Wypisz jedną liczbę całkowitą: $f(0) + f(1) + \dots + f(2^k - 1)$ modulo $998\,244\,353$.
Przykład
Wejście 1
2 1 0 1
Wyjście 1
2
Wejście 2
2 2 2 1
Wyjście 2
4
Wejście 3
5 10 389 144 883 761 556
Wyjście 3
1118
Uwagi
W pierwszym przykładzie $f(0) = 2, f(1) = 0$.
W drugim przykładzie $f(0) = 1, f(1) = 1, f(2) = 2, f(3) = 0$.