#icpc2013summerwarmingUpc. [icpc2013summer_warmingUp_c]Containers

[icpc2013summer_warmingUp_c]Containers

描述

在一个W×HW \times H的土地上堆放了一些1×1×11 \times 1 \times 1的容器。
该土地被划分为1×11 \times 1的单元格。每个容器位于其中一个单元格上。

图1

图1

图2:俯视图

图2:俯视图

图3:正面图

图3:正面图

图4:侧面图

图4:侧面图

给定俯视图、正面图和侧面图的照片,计算至少有多少个容器被堆放在上面。


输入

HH WW u11u_{11} u12u_{12} u1Wu_{1W} u21u_{21} :: :: uH1u_{H1} uH2u_{H2} uHWu_{HW} f1f_1 f2f_2 fWf_W s1s_1 s2s_2 sHs_H

输入文件的第一行包含整数HHWW1H,W1001 \leq H,W \leq 100),表示土地的高度和宽度。
接下来的HH行中,给出了俯视图的照片。
uiju_{ij}的值表示:
0(i,j)(i, j)位置上没有堆放容器,
1(i,j)(i, j)位置上堆放了一些容器。

下一行给出了正面图的照片。
整数fif_i表示第ii行中可见的容器数量。(0fi1000 \leq f_i \leq 100)

下一行给出了侧面图的照片。
整数sis_i表示第ii列中可见的容器数量。(0si1000 \leq s_i \leq 100)

输出

输出堆放容器的最小数量。
如果照片不一致,则输出-1


示例输入


2 3
0 1 0
1 1 1
2 3 2
2 3

示例输出


9

示例输入


4 6
1 1 0 1 0 0
0 0 1 0 0 1
0 1 0 0 0 1
0 0 1 0 1 0
1 2 1 2 1 1
2 1 2 1

示例输出


11

来源名称

第一届KMCMonthly比赛