class Program { static (int a, int b) GetInput2() { int[] input = Console.ReadLine().Split().Select(_ => int.Parse(_)).ToArray(); return (input[0], input[1]); } static (int a, int b, int c, int d) GetInput4() { int[] input = Console.ReadLine().Split().Select(_ => int.Parse(_)).ToArray(); return (input[0], input[1], input[2], input[3]); } static void Main() { (int H, int W) = GetInput2(); (int sr, int sc) = GetInput2(); (int r1, int c1, int r2, int c2) = GetInput4(); (int gr, int gc) = GetInput2(); int ans = int.MaxValue; for (int r = r1; r <= r2; r++) { for (int c = c1; c <= c2; c++) { int d = Math.Abs(r - sr) + Math.Abs(c - sc); d += Math.Abs(gr - r) + Math.Abs(gc - c); d += Math.Abs(sr - gr) + Math.Abs(sc - gc); ans = Math.Min(ans, d); } } Console.WriteLine(ans); } }