#exp011. 横竖走走青蛙题

横竖走走青蛙题

Descrpition

青蛙之国可以看作一个 nnmm 列的网格,网格上有一些点没有障碍物(用 "0" 表示),有一些点有障碍物(用 "1" 表示)

(x,y)(x,y) 表示第 xx 行第 yy 列的点。青蛙之神想在 (xs,ys)(x_s,y_s)(xt,yt)(x_t,y_t) 两点间铺设铁路,由于青蛙之神讨厌转弯,你需要找到一条 (xs,ys)(x_s,y_s)(xt,yt)(x_t,y_t) 之间的合法路径,使得该路径不经过任何障碍物且该路径的转弯次数最少

Input

第一行两个正整数 n,mn,m

第二行四个正整数 xs,ys,xt,ytx_s,y_s,x_t,y_t

接下来 nn 行每行一个长度为 mm 的只包含 "0" , "1" 的字符串,表示青蛙之国的地图

Output

一行一个正整数,表示最少的拐弯次数

若不存在满足条件的路径,输出 "-1"

Sample

1 3
1 1 1 3
0110
-1
3 4
3 1 1 4 
1110
1000
0011
3
7 11
7 1 7 11
00000000000
01111111110
01111111110
01111111110
00010001000
01010101010
01000100010
2

Limitation

对于 20%20\% 的数据,n=1,1m5n = 1,1 \leq m \leq 5

对于 60%60\% 的数据,1n,m151 \leq n,m \leq 15

对于 80%80\% 的数据, 1n,m5001 \leq n,m \leq 500

对于 100%100\% 的数据,1n,m30001 \leq n,m \leq 3000