
def main():
    r,c = map(int, input().split())
    x,y = (int(x) for x in input().split())
    ex,ey = (int(x) for x in input().split())
    maze = [[1]*(c+2) for _ in range(r+2)]
    for i in range(r):
        line = input()
        for j in range(c):
            maze[i+1][j+1] = int(line[j])
    
    seen = set()
    dx = 0
    dy = 1
    while x != ex or y != ey:
        key = (((x*c) + y)*3 + dx)*3 + dy
        if key in seen: break
        seen.add(key)
        if not maze[x-dy][y+dx]:
            # Left turn
            dy, dx = dx, -dy
            x += dx
            y += dy
        elif not maze[x+dx][y+dy]:
            # Foward
            x += dx
            y += dy
        else:
            # Right turn
            dy, dx = -dx, dy
            
        
    print( 1 if (x == ex and y == ey) else 0 )
        

if __name__ == "__main__":
    main()
