import sys, time, random, heapq, math, itertools, copy from collections import deque, Counter, defaultdict #from sortedcontainers import SortedSet, SortedList from bisect import bisect, bisect_left, bisect_right import heapq as hq from functools import cache, cmp_to_key def debug(*x):print('debug:',*x, file=sys.stderr) sys.setrecursionlimit(300000) input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 61 - 1 mod = 998244353 dir = [(0, 1), (0, -1), (1, 0), (-1, 0)] H, W = mi() A, B = mi() R1, C1, R2, C2 = mi() P, Q = mi() musi = set() for i in range(R1-1, R2): for j in range(C1-1, C2): musi.add((i,j)) ans = 0 d = deque() d.append((A-1, B-1, 0)) visited = [[False] * W for _ in range(H)] visited[A-1][B-1] = True while d: i,j,cnt = d.popleft() if (i, j) in musi: ans += cnt break for di, dj in dir: ni, nj = i + di, j + dj if not(0<=ni