C. AND Graphtime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a set of size m with integer elements between 0 and 2^{n}-1 inclusive. Let's build an undirected graph on these integers in the following way: connect two integers x and y with an edge if and only if x \& y = 0. Here \& is the bitwise AND operation. Count the number of connected components in that graph.InputIn the first line of input there are two integers n and m (0 \le n \le 22, 1 \le m \le 2^{n}).In the second line there are m integers a_1, a_2, \ldots, a_m (0 \le a_{i} < 2^{n}) — the elements of the set. All a_{i} are distinct.OutputPrint the number of connected components.ExamplesInput2 31 2 3Output2Input5 55 19 10 20 12Output2NoteGraph from first sample:Graph from second sample:
Input2 31 2 3
Output2
['bitmasks', 'dfs and similar', 'dsu', 'graphs', '*2500']