CF2011H Strange Matrix
Description
You are given a matrix $ a $ of size $ n \times m $ , consisting of integers from $ 0 $ to $ 31 $ inclusive.
Let's call the matrix strange if for every two distinct rows $ i $ and $ j $ , both of the following conditions hold:
- for every set of $ k $ indices $ (x_1, x_2, \dots, x_k) $ , where $ 1 \le x_1 < x_2 < \cdots < x_k \le m $ , the equality $ a_{i, x_1} \mathbin{\&} a_{j, x_1} \mathbin{\&} a_{i, x_2} \mathbin{\&} a_{j, x_2} \mathbin{\&} \cdots \mathbin{\&} a_{i, x_k} \mathbin{\&} a_{j, x_k} = 0 $ holds (where $ \mathbin{\&} $ — bitwise AND of two numbers);
- for every set of $ k $ indices $ (x_1, x_2, \dots, x_k) $ , where $ 1 \le x_1 < x_2 < \cdots < x_k \le m $ , the equality $ a_{i, x_1} \mathbin{|} a_{j, x_1} \mathbin{|} a_{i, x_2} \mathbin{|} a_{j, x_2} \mathbin{|} \cdots \mathbin{|} a_{i, x_k} \mathbin{|} a_{j, x_k} = 31 $ holds (where $ \mathbin{|} $ — bitwise OR of two numbers).
You can perform the following operation any number of times: take any row of the matrix and a number $ y $ from $ 0 $ to $ 31 $ inclusive; then apply the bitwise XOR with the number $ y $ to all elements of the selected row. The cost of such an operation is equal to $ y $ .
Your task is to calculate the minimum cost to make the matrix strange, or report that it is impossible.
Input Format
The first line contains one integer $ t $ ( $ 1 \le t \le 100 $ ) — the number of test cases.
The first line of each test case contains three integers $ n $ , $ m $ , and $ k $ ( $ 1 \le n, m \le 50 $ ; $ 1 \le k \le m $ ).
Next, there are $ n $ lines, the $ i $ -th of which contains $ m $ integers $ a_{i, 1}, a_{i, 2}, \dots, a_{i, m} $ ( $ 0 \le a_{i, j} \le 31 $ ).
Output Format
For each test case, output one integer — the minimum cost to make the matrix strange, or -1 if it is impossible to make the matrix strange.