def coordinate(s,x,y)
  s[y][x]
end

def can_move?(group_1, group_2)
  group_1.each do |ele|
    (-2..2).each do |i|
      (-2..2).each do |j|
        return true if  group_2.include?([ele[0] + i, ele[0] + j])
      end
    end
  end
  return false
end

def possible_move_groups(groups, now_group)
  possible_move_groups = []
  groups.each do |group|
    possible_move_groups << group if can_move?(group, now_group)
  end
end





H, W  = gets.split(' ').map(&:to_i)
CH, CW = gets.split(' ').map(&:to_i)
DH, DW = gets.split(' ').map(&:to_i)
s = [Array.new(W, '#')]


H.times do
  s << ['#'] + gets.chomp.split('')
end

coordinates = [] # H*Wの座標が入っている [[1, 1], [2, 1], [3, 1], [4, 1], ...]
(1..W).each do |h|
  (1..H).each do |w|
    coordinates << [w, h]
  end
end

miti_masues = []

coordinates.each do |coordinate|
  if coordinate(s,coordinate[0], coordinate[1]) == '.'
    miti_masues << coordinate
  end
end

groups = []
loop do
  group = [miti_masues.first]
  miti_masues.delete(miti_masues.first)
  gensen_gourp = []

  loop do
    group_add = []

    migi = [group.last[0] + 1, group.last[1]]
    hidari = [group.last[0] - 1, group.last[1]]
    ue = [group.last[0], group.last[1] + 1]
    sita = [group.last[0], group.last[1] - 1]
    [migi, hidari, ue, sita].each do |ele|
      if miti_masues.include?(ele)
        group_add << ele
        miti_masues.delete(ele)
      end
    end

    gensen_gourp += [group.last]
    group.pop
    group += group_add
    break if group.length == 0
  end
  groups << gensen_gourp
  break if miti_masues.length == 0
end

start_group = []
goal_group = []

groups.each do |group|
  start_group = group if group.include?([CW, CH])
  goal_group = group if group.include?([DW, DH])
end

now_groups = [start_group]

ans = 0

loop do
  if goal_group == start_group
    puts 0
    break
  end
  next_groups = []
  now_groups.each do |now_group|
    next_groups += possible_move_groups(groups, now_group)
  end
  ans += 1
  if next_groups.include?(goal_group)
    puts ans
    break
  elsif now_groups == next_groups
    puts -1
    break
  end
  now_groups = next_groups
end
