h, w = read_line.split.map(&.to_i) a, b = read_line.split.map { |v| v.to_i - 1 } r1, c1, r2, c2 = read_line.split.map { |v| v.to_i - 1 } p, q = read_line.split.map { |v| v.to_i - 1 } ans = (h + w) * 2 d = (p - a).abs + (q - b).abs r1.upto(r2) do |r| c1.upto(c2) do |c| ans = {ans, (a - r).abs + (r - p).abs + (b - c).abs + (c - q).abs + d}.min end end puts ans