汽车拉力比赛

题目描述

博艾市将要举行一场汽车拉力比赛。 赛场凹凸不平,所以被描述为 $N*M$ 的网格来表示海拔高度 $(1 \leq M,N \leq 500)$,每个单元格的海拔范围在 $0$ 到 $10^9$ 之间。 其中一些单元格被定义为路标。组织者希望给整个路线指定一个难度系数 $D$,这样参赛选手从任一路标到达别的路标所经过的路径上相邻单元格的海拔高度差不会大于 $D$ 。也就是说这个难度系数 $D$ 指的是保证所有路标相互可达的最小值。任一单元格和其东西南北四个方向上的单元格都是相邻的。

输入输出格式

输入格式


第 $1$ 行两个整数 $M$ 和 $N$。第 $2$ 行到第 $M+1$ 行,每行 $N$ 个整数描述海拔高度。第 $2+M$ 行到第 $1+2M$ 行,每行 $N$ 个整数,每个数非 $0$ 即 $1$,$1$ 表示该单元格是一个路标。

输出格式


一个整数,即赛道的难度系数 $D$。

输入输出样例

输入样例 #1

3 5 
20 21 18 99 5  
19 22 20 16 26
18 17 40 60 80
1 0 0 0 1
0 0 0 0 0
0 0 0 0 1

输出样例 #1

21