310879: CF1904A. Forked!

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

A. Forked!time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

Lunchbox is done with playing chess! His queen and king just got forked again!

In chess, a fork is when a knight attacks two pieces of higher value, commonly the king and the queen. Lunchbox knows that knights can be tricky, and in the version of chess that he is playing, knights are even trickier: instead of moving $1$ tile in one direction and $2$ tiles in the other, knights in Lunchbox's modified game move $a$ tiles in one direction and $b$ tiles in the other.

Lunchbox is playing chess on an infinite chessboard which contains all cells $(x,y)$ where $x$ and $y$ are (possibly negative) integers. Lunchbox's king and queen are placed on cells $(x_K,y_K)$ and $(x_Q,y_Q)$ respectively. Find the number of positions such that if a knight was placed on that cell, it would attack both the king and queen.

Input

Each test contains multiple test cases. The first line contains an integer $t$ ($1 \leq t \leq 1000$) — the number of test cases. The description of the test cases follows.

The first line of each test case contains two integers $a$ and $b$ ($1 \le a, b \le 10^8$) — describing the possible moves of the knight.

The second line of each test case contains two integers $x_K$ and $y_K$ ($0 \le x_K, y_K \le 10^8$) — the position of Lunchbox's king.

The third line in a test case contains $x_Q$ and $y_Q$ ($0 \le x_Q, y_Q \le 10^8$) — the position of Lunchbox's queen.

It is guaranteed that Lunchbox's queen and king will occupy different cells. That is, $(x_K,y_K) \neq (x_Q,y_Q)$.

Output

For each test case, output the number of positions on an infinite chessboard such that a knight can attack both the king and the queen.

ExampleInput
4
2 1
0 0
3 3
1 1
3 1
1 3
4 4
0 0
8 0
4 2
1 4
3 4
Output
2
1
2
0
Note

In the first test case, the knight can move 2 squares in one direction and 1 square in the other (it is essentially the same as the knight in standard chess). A knight placed on $(2, 1)$ or $(1, 2)$ would attack both the king and queen.

Example of a knight placement that forks the queen and king in the first test case. The squares that the knight attacks are highlighted in red.

In the second test case, a knight placed on $(2, 2)$ would attack both the king and queen.

Example of a knight placement that does not fork the queen and king in the second test case. The knight attacks the king but not the queen.

In the third test case, a knight placed on $(4, 4)$ or $(4, -4)$ would attack both the king and queen.

In the fourth test case, there are no positions where the knight can attack both the king and the queen.

(Credits to EnDeRBeaT for the nice images)

Output

题目大意:
Lunchbox 不想再玩国际象棋了,因为他的王后和国王总是被对方的马将军。在 Lunchbox 玩的象棋版本中,马走“a”格一个方向然后“b”格另一个方向。Lunchbox 在一个无限的棋盘上玩棋,棋盘包含所有 (x, y) 形式的格子,其中 x 和 y 是(可能是负数)整数。Lunchbox 的国王在 (x_K, y_K) 格,王后在 (x_Q, y_Q) 格。要求找出所有这样的位置:如果一匹马放在这个位置上,它能同时攻击国王和王后。

输入输出数据格式:
每个测试包含多个测试案例。第一行包含一个整数 t (1 ≤ t ≤ 1000) —— 测试案例的数量。接下来是每个测试案例的描述。
每个测试案例的第一行包含两个整数 a 和 b (1 ≤ a, b ≤ 10^8) —— 描述马可能的移动。
每个测试案例的第二行包含两个整数 x_K 和 y_K (0 ≤ x_K, y_K ≤ 10^8) —— Lunchbox 的国王的位置。
每个测试案例的第三行包含两个整数 x_Q 和 y_Q (0 ≤ x_Q, y_Q ≤ 10^8) —— Lunchbox 的王后的位置。
保证 Lunchbox 的王后和国王占据不同的格子。也就是说,(x_K, y_K) ≠ (x_Q, y_Q)。

对于每个测试案例,输出在无限棋盘上能同时攻击国王和王后的马的位置的数量。题目大意: Lunchbox 不想再玩国际象棋了,因为他的王后和国王总是被对方的马将军。在 Lunchbox 玩的象棋版本中,马走“a”格一个方向然后“b”格另一个方向。Lunchbox 在一个无限的棋盘上玩棋,棋盘包含所有 (x, y) 形式的格子,其中 x 和 y 是(可能是负数)整数。Lunchbox 的国王在 (x_K, y_K) 格,王后在 (x_Q, y_Q) 格。要求找出所有这样的位置:如果一匹马放在这个位置上,它能同时攻击国王和王后。 输入输出数据格式: 每个测试包含多个测试案例。第一行包含一个整数 t (1 ≤ t ≤ 1000) —— 测试案例的数量。接下来是每个测试案例的描述。 每个测试案例的第一行包含两个整数 a 和 b (1 ≤ a, b ≤ 10^8) —— 描述马可能的移动。 每个测试案例的第二行包含两个整数 x_K 和 y_K (0 ≤ x_K, y_K ≤ 10^8) —— Lunchbox 的国王的位置。 每个测试案例的第三行包含两个整数 x_Q 和 y_Q (0 ≤ x_Q, y_Q ≤ 10^8) —— Lunchbox 的王后的位置。 保证 Lunchbox 的王后和国王占据不同的格子。也就是说,(x_K, y_K) ≠ (x_Q, y_Q)。 对于每个测试案例,输出在无限棋盘上能同时攻击国王和王后的马的位置的数量。

加入题单

上一题 下一题 算法标签: