Bob was experimenting with an array of numbers in an effort to make a programming problem, finally he made an interesting problem but he cannot solve it, can you help Bob?
Given an array \(A\) of \(n\) integers, Bob wants you to answer \(q\) different queries based on the given array. For each query Bob wants to know the minimum number of values he should remove from the array \(A\) to make the \(XOR\) of the remaining values in the array equal to \(x\).
NOTE: The \(XOR\) of an empty array is \(0\).
Reference: Bitwise XOR
INPUT FORMAT
The first line of the input contains an integer \(n\) (\(1 <= n <= 10^5\)) - the number of values in the array.
The second line of the input contains \(n\) integers \(a_{1}, a_{2}, a_{3}, .. a_{n}\) \((1 <= a_{i} <= 200)\) - the values in the array.
The third line of the input contains an integer \(q\) (\(1 <= n <= 10^5\)) - the number of queries.
Each of the next \(q\) lines contains one integer \(x_{i}\) \((0 <= x_{i} <= 200)\) - the queried value.
OUTPUT FORMAT
Print \(q\) integers. The \(i^{th}\) integer should represent the minimum number of values to remove from \(A\) to make the \(XOR\) equal to \(x_{i}\), or \(-1\) if it is impossible.