Matrix Problem

题意翻译

给出一个 $n\times m$ 的 0/1 矩阵,可以反转若干个位置,再给出 $a_n,b_m$,要求最终第 $i$ 行恰有 $a_i$ 个 $1$,第 $j$ 列恰有 $b_j$ 个 $1$,问最少需要反转多少个位置,无解输出 `-1`。$n,m\le 50$。

题目描述

You are given a matrix $ a $ , consisting of $ n $ rows by $ m $ columns. Each element of the matrix is equal to $ 0 $ or $ 1 $ . You can perform the following operation any number of times (possibly zero): choose an element of the matrix and replace it with either $ 0 $ or $ 1 $ . You are also given two arrays $ A $ and $ B $ (of length $ n $ and $ m $ respectively). After you perform the operations, the matrix should satisfy the following conditions: 1. the number of ones in the $ i $ -th row of the matrix should be exactly $ A_i $ for every $ i \in [1, n] $ . 2. the number of ones in the $ j $ -th column of the matrix should be exactly $ B_j $ for every $ j \in [1, m] $ . Calculate the minimum number of operations you have to perform.

输入输出格式

输入格式


The first line contains two integers $ n $ and $ m $ ( $ 2 \le n, m \le 50 $ ). Then $ n $ lines follow. The $ i $ -th of them contains $ m $ integers $ a_{i,1}, a_{i,2}, \dots, a_{i,m} $ ( $ 0 \le a_{i,j} \le 1 $ ). The next line contains $ n $ integers $ A_1, A_2, \dots, A_n $ ( $ 0\le A_i\le m $ ). The next line contains $ m $ integers $ B_1, B_2, \dots, B_m $ ( $ 0\le B_i\le n $ ).

输出格式


Print one integer — the minimum number of operations you have to perform, or -1 if it is impossible.

输入输出样例

输入样例 #1

3 3
0 0 0
0 0 0
0 0 0
1 1 1
1 1 1

输出样例 #1

3

输入样例 #2

3 3
1 1 1
1 1 1
1 1 1
3 2 1
1 2 3

输出样例 #2

3

输入样例 #3

2 2
0 0
0 0
1 2
0 1

输出样例 #3

-1