C. AND Graph
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дано множество размера $$$m$$$, состоящее из целых неотрицательных чисел от $$$0$$$ до $$$2^{n}-1$$$ включительно. Построим на этих числах неориентированный граф следующим образом: соединим $$$x$$$ и $$$y$$$, если и только если $$$x \& y = 0$$$. Здесь $$$\&$$$ — операция побитового И. Посчитайте количество компонент связности в таком графе.

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

В первой строке записаны два целых числа $$$n$$$ и $$$m$$$ ($$$0 \le n \le 22$$$, $$$1 \le m \le 2^{n}$$$).

Во второй строке через пробел перечислены $$$m$$$ чисел $$$a_1, a_2, \ldots, a_m$$$ ($$$0 \le a_{i} < 2^{n}$$$) — элементы множества. Все $$$a_{i}$$$ различны.

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

Выведите одно целое число — количество компонент связности.

Примеры
Входные данные
2 3
1 2 3
Выходные данные
2
Входные данные
5 5
5 19 10 20 12
Выходные данные
2
Примечание

Граф из первого примера:

Граф из второго примера: