You are given a sequence of $n$ bit strings $b_1, b_2, \ldots , b_ n$, each with $k \times 4$ bits.
You are also given another sequence of $m$ bit strings $a_1, a_2, \ldots , a_ m$, each also with $k \times 4$ bits.
Let $f(x)$ denote the minimum index $i$ such that it is possible to take a non-empty subset of $b_1, b_2, \ldots , b_ i$, XOR them all together, and get $x$. If there is no such index, $f(x) = -1$.
Print the values $f(a_1), f(a_2), \ldots , f(a_ m)$.
The first line of input contains three integers $n$ ($1 \le n \le 1\, 000$), $m$ ($1 \le m \le 1\, 000$) and $k$ ($1 \le k \le 40$), where $n$ is the length of sequence $b$, $m$ is the length of sequence $a$, and the elements of both sequences are bit strings with $k \times 4$ bits.
Each of the next $n$ lines contains a hexadecimal representation of $b_ i$ as a string of length $k$. The strings consist only of hexadecimal digits (‘0’–‘9’ and ‘a’–‘f’).
Then, each of the next $m$ lines contains a hexadecimal representation of $a_ i$ in the same format as above.
Output $m$ lines with a single integer on each line, where the integer on the $i$th line is $f(a_ i)$.
|Sample Input 1||Sample Output 1|
3 5 2 02 e1 fa 02 e3 1b e1 ff
1 2 3 2 -1
|Sample Input 2||Sample Output 2|
5 6 2 01 02 04 08 10 01 02 03 04 05 64
1 2 2 3 3 -1