一片山地可以被表示为一个 n∗mn*mn∗m 矩阵,矩阵中每个元素代表此单元格的海拔高度。
小a现在在这片山地的 (x,y)(x,y)(x,y) ((( 第 xxx 行第 yyy 列 )))处。
小a每次移动可以移动到他所在格的上下左右4个格子中的一个。
他喜欢上坡路,因此他要求每次移动后所在单元格的高度大于移动前的高度。
小a想知道,他到达这片山地中任意一个格最少要移动多少次。
第一行输入两个整数 n,mn,mn,m,为山地的大小。
第二行输入两个整数 x,yx,yx,y,为小a的初始位置。
接下来 nnn 行,每行 mmm 个数。第 (i+1)(i+1)(i+1) 行的第 jjj 个数为单元格 (i,j)(i,j)(i,j) 的海拔 hijh_{ij}hij 。
输出 nnn 行,每行 mmm 个数,表示从 (x,y)(x,y)(x,y) 到此格需要的最少移动次数,若不能到达则输出-1。
输入样例 #1
4 5 2 2 2 1 3 4 5 1 1 2 10 6 3 2 3 9 7 6 7 6 5 10
输出样例 #1
-1 -1 2 3 4 -1 0 1 2 5 2 1 2 3 6 3 2 3 -1 7
1≤n,m≤3001 \le n,m \le 3001≤n,m≤300
1≤x≤n1 \le x \le n1≤x≤n
1≤y≤m1 \le y \le m1≤y≤m
1≤hij≤10001 \le h_{ij} \le 10001≤hij≤1000