H. Следи за малостью XOR
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дан массив целых чисел $$$a_1, a_2, \ldots, a_n$$$ и целое число $$$x$$$.

Найдите количество непустых подмножеств индексов этого массива $$$1 \leq b_1 < b_2 < \ldots < b_k \leq n$$$ таких, что для всех пар $$$(i, j)$$$, где $$$1 \leq i < j \leq k$$$, выполняется неравенство $$$a_{b_i} \oplus a_{b_j} \leq x$$$. Здесь $$$\oplus$$$ обозначает операцию побитового исключающего ИЛИ. Так как ответ может быть большим, выведите его по модулю $$$998\,244\,353$$$.

Входные данные

Первая строка содержит два целых числа $$$n$$$ и $$$x$$$ ($$$1 \leq n \leq 150\,000$$$, $$$0 \leq x < 2^{30}$$$). Здесь $$$n$$$ — размер массива.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \leq a_i < 2^{30}$$$) — сам массив.

Выходные данные

Выведите одно целое число: количество непустых подмножеств таких, что побитовое исключающее ИЛИ любых двух элементов не больше $$$x$$$, по модулю $$$998\,244\,353$$$.

Примеры
Входные данные
4 2
0 1 2 3
Выходные данные
8
Входные данные
3 6
4 2 2
Выходные данные
7
Входные данные
4 0
1 1 2 2
Выходные данные
6