#D1752. Fractal Shortest Path
Fractal Shortest Path
Fractal Shortest Path
For a non-negative integer K, we define a fractal of level K as follows:
- A fractal of level 0 is a grid with just one white square.
- When K > 0, a fractal of level K is a 3^K \times 3^K grid. If we divide this grid into nine 3^{K-1} \times 3^{K-1} subgrids:
- The central subgrid consists of only black squares.
- Each of the other eight subgrids is a fractal of level K-1.
For example, a fractal of level 2 is as follows:
A fractal of level 2
In a fractal of level 30, let (r, c) denote the square at the r-th row from the top and the c-th column from the left.
You are given Q quadruples of integers (a_i, b_i, c_i, d_i). For each quadruple, find the distance from (a_i, b_i) to (c_i, d_i).
Here the distance from (a, b) to (c, d) is the minimum integer n that satisfies the following condition:
- There exists a sequence of white squares (x_0, y_0), \ldots, (x_n, y_n) satisfying the following conditions:
- (x_0, y_0) = (a, b)
- (x_n, y_n) = (c, d)
- For every i (0 \leq i \leq n-1), (x_i, y_i) and (x_{i+1}, y_{i+1}) share a side.
Constraints
- 1 \leq Q \leq 10000
- 1 \leq a_i, b_i, c_i, d_i \leq 3^{30}
- (a_i, b_i) \neq (c_i, d_i)
- (a_i, b_i) and (c_i, d_i) are white squares.
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
Q a_1 \ b_1 \ c_1 \ d_1 : a_Q \ b_Q \ c_Q \ d_Q
Output
Print Q lines. The i-th line should contain the distance from (a_i, b_i) to (c_i, d_i).
Example
Input
2 4 2 7 4 9 9 1 9
Output
5 8
inputFormat
input are integers.
Input
Input is given from Standard Input in the following format:
Q a_1 \ b_1 \ c_1 \ d_1 : a_Q \ b_Q \ c_Q \ d_Q
outputFormat
Output
Print Q lines. The i-th line should contain the distance from (a_i, b_i) to (c_i, d_i).
Example
Input
2 4 2 7 4 9 9 1 9
Output
5 8
样例
2
4 2 7 4
9 9 1 9
5
8
</p>