n, m = map(int, input().split()) si, sj = map(lambda x: int(x) - 1, input().split()) gi, gj = map(lambda x: int(x) - 1, input().split()) dx4 = [1, 0, -1, 0] dy4 = [0, 1, 0, -1] # 0 = blank, 1 = wall ans = 0 grid = [[0] * m for _ in range(n)] def valid(i, j): if not (0 <= i < n): return False if not (0 <= j < m): return False return True def solve(i, j): global ans if i == gi and j == gj: ans += 1 return for k in range(4): ni, nj = i + dx4[k], j + dy4[k] if not valid(ni, nj): continue if grid[ni][nj]: continue neighbor = 0 for l in range(4): pi, pj = ni + dx4[l], nj + dy4[l] if not valid(pi, pj): continue if grid[pi][pj]: neighbor += 1 if neighbor == 1: grid[ni][nj] = 1 solve(ni, nj) grid[ni][nj] = 0 grid[si][sj] = 1 solve(si, sj) print(ans)