Вам дан массив из $n$ целых чисел $a_1, a_2, \dots, a_n$. Каждое целое число находится в диапазоне от $0$ до $2^k - 1$ включительно.
Пусть $f(x)$ — это наименьший индекс $i$ (индексация начинается с $1$), такой что $(a_i \& x) \neq a_i$, или $0$, если такого $i$ не существует. Операция $\&$ обозначает побитовое И.
Найдите сумму $f(0) + f(1) + \dots + f(2^k - 1)$. Поскольку это значение может быть очень большим, выведите его по модулю $998\,244\,353$.
Входные данные
Первая строка содержит два целых числа: $n, k$ ($1 \le n \le 100, 1 \le k \le 60$). Вторая строка содержит $n$ целых чисел: $a_1, a_2, \dots, a_n$ ($0 \le a_i < 2^k$).
Выходные данные
Выведите одно целое число: $f(0) + f(1) + \dots + f(2^k - 1)$ по модулю $998\,244\,353$.
Примеры
Входные данные 1
2 1 0 1
Выходные данные 1
2
Входные данные 2
2 2 2 1
Выходные данные 2
4
Входные данные 3
5 10 389 144 883 761 556
Выходные данные 3
1118
Примечание
В первом примере $f(0) = 2, f(1) = 0$. Во втором примере $f(0) = 1, f(1) = 1, f(2) = 2, f(3) = 0$.