For a set $X$ of non-negative integers, let $f(X)$ denote the set of non-negative integers that can be represented as the bitwise $\mathrm{XOR}$ of two integers (possibly the same) in $X$. As an example, for $X=\lbrace 1, 2, 4\rbrace$, we have $f(X)=\lbrace 0, 3, 5, 6\rbrace$.
You are given a set of $N$ non-negative integers less than $2^M$: $S=\lbrace A_1, A_2, \dots, A_N\rbrace$.
You may perform the following operation any number of times.
* Divide $S$ into two sets $T_1$ and $T_2$ (one of them may be empty). Then, replace $S$ with the union of $f(T_1)$ and $f(T_2)$.
Find the minimum number of operations needed to make $S=\lbrace 0\rbrace$.
What is bitwise $\mathrm{XOR}$?The bitwise $\mathrm{XOR}$ of non-negative integers $A$ and $B$, $A \oplus B$, is defined as follows.
* When $A \oplus B$ is written in binary, the $k$\-th lowest bit ($k \geq 0$) is $1$ if exactly one of the $k$\-th lowest bits of $A$ and $B$ is $1$, and $0$ otherwise.
For instance, $3 \oplus 5 = 6$ (in binary: $011 \oplus 101 = 110$).
Generally, the bitwise $\mathrm{XOR}$ of $k$ non-negative integers $p_1, p_2, p_3, \dots, p_k$ is defined as $(\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k)$, which can be proved to be independent of the order of $p_1, p_2, p_3, \dots, p_k$.
## Constraints
* $1 \leq N \leq 300$
* $1 \leq M \leq 300$
* $0 \leq A_i < 2^{M}$
* $A_i\ (1\leq i \leq N)$ are pairwise distinct.
* Each $A_i$ is given with exactly $M$ digits in binary (possibly with leading zeros).
* All values in the input are integers.
## Input
The input is given from Standard Input in the following format:
$N$ $M$
$A_1$
$A_2$
$\vdots$
$A_N$
[samples]