Parallel Projection
Contest: VK Cup 2022 - Отборочный раунд (Engine)
Difficulty rating: 800
Tags: geometry, math

Vika's house has a room in a shape of a rectangular parallelepiped (also known as a rectangular cuboid). Its floor is a rectangle of size $$$w \times d$$$, and the ceiling is right above at the constant height of $$$h$$$. Let's introduce a coordinate system on the floor so that its corners are at points $$$(0, 0)$$$, $$$(w, 0)$$$, $$$(w, d)$$$, and $$$(0, d)$$$.

A laptop is standing on the floor at point $$$(a, b)$$$. A projector is hanging on the ceiling right above point $$$(f, g)$$$. Vika wants to connect the laptop and the projector with a cable in such a way that the cable always goes along the walls, ceiling, or floor (i. e. does not go inside the cuboid). Additionally, the cable should always run parallel to one of the cuboid's edges (i. e. it can not go diagonally).

What is the minimum length of a cable that can connect the laptop to the projector?

Illustration for the first test case. One of the optimal ways to put the cable is shown in green.

Input format:
Each test contains multiple test cases. The first line contains the number of test cases $$$t$$$ ($$$1 \le t \le 10^4$$$). The description of the test cases follows.

The first line of each test case contains three integers $$$w$$$, $$$d$$$, and $$$h$$$ ($$$2 \le w, d, h \le 1000$$$) — the size of the room.

The second line contains four integers $$$a$$$, $$$b$$$, $$$f$$$, $$$g$$$ ($$$0 < a, f < w$$$; $$$0 < b, g < d$$$): the laptop is located on the floor at point $$$(a, b)$$$, while the projector is hanging on the ceiling right above point $$$(f, g)$$$.

Output format:
For each test case, print a single integer — the minimum length of the cable connecting the laptop and the projector that runs only along the walls, floor, and ceiling parallel to cuboid's edges.

Constraints:
Time limit: 1.0 s
Memory limit: 512.0 MB

Note:
The picture in the statement illustrates the first test case.

Example input:
5
55 20 29
23 10 18 3
20 10 5
1 5 2 5
15 15 4
7 13 10 10
2 1000 2
1 1 1 999
10 4 10
7 1 2 1

Example output:
47
8
14
1002
17

Editorial:
Note that bending the cable on the wall is not necessary: we can always bend it on the floor and on the ceiling, while keeping the vertical part of the cable straight. Thus, we can just disregard the height of the room, view the problem as two-dimensional, and add $$$h$$$ to the answer at the end.
In the two-dimensional formulation, we need to connect points $$$(a, b)$$$ and $$$(f, g)$$$ with a cable that goes parallel to the coordinate axes and touches at least one side of the $$$(0, 0)$$$ — $$$(w, d)$$$ rectangle. We can now casework on the side of the rectangle (the sides are referred to as in the picture from the problem statement):
• If the cable touches the front side, its length will be $$$b + |a - f| + g$$$.
• If the cable touches the left side, its length will be $$$a + |b - g| + f$$$.
• If the cable touches the back side, its length will be $$$(d - b) + |a - f| + (d - g)$$$.
• If the cable touches the right side, its length will be $$$(w - a) + |b - g| + (w - f)$$$.
Out of these four values, the smallest one (plus $$$h$$$) is the answer.