#P3613. 高斯整数的最大公约数 (Gcd of Gaussian Integers)

高斯整数的最大公约数 (Gcd of Gaussian Integers)

高斯整数的最大公约数 (Gcd of Gaussian Integers)

时间限制:5 秒

题目描述

在本题中,ii 表示虚数单位。

给定高斯整数 a1+b1ia_1 + b_1 ia2+b2ia_2 + b_2 i,求出它们的最大公约数之一。

关于高斯整数及其最大公约数的定义,请参考以下内容:

  • $\mathbb{Z}[i] = \{a + bi \mid a, b \in \mathbb{Z}\}$ 中的元素称为高斯整数。

  • 对于 x,yZ[i]x, y \in \mathbb{Z}[i],若存在 zZ[i]z \in \mathbb{Z}[i] 使得 y=xzy = xz,则定义 xyx \mid y

  • 高斯整数 ggx,yZ[i]x, y \in \mathbb{Z}[i] 的最大公约数,当且仅当对于 Z[i]\mathbb{Z}[i] 中的任意 zz,条件 zgz \mid g 等价于 zxz \mid xzyz \mid y。这样的 gg 在相差 ±1\pm 1±i\pm i 的倍意义下是唯一确定的。

你需要解决 TT 组测试数据。

约束条件

  • 1T1051 \le T \le 10^5
  • 1×109a1,b1,a2,b2109-1 \times 10^9 \le a_1, b_1, a_2, b_2 \le 10^9

输入

T
a_1 b_1 a_2 b_2
⋮
a_1 b_1 a_2 b_2

输出

a+bia + bia1+b1ia_1 + b_1 ia2+b2ia_2 + b_2 i 的最大公约数时,输出 aabb

a b

样例

#1

输入:

8
8 0 6 0
0 0 0 0
0 0 4 8
4 0 6 2
1 2 3 4
1 -2 3 4
1 -3 5 -7
-344235 225420 -33882 162741

输出:

2 0
0 0
4 8
-2 -2
1 0
1 -2
-1 1
-456 123

对于第一组测试数据,除了 2 0 之外,以下答案也是正确的:-2 00 20 -2

8
8 0 6 0
0 0 0 0
0 0 4 8
4 0 6 2
1 2 3 4
1 -2 3 4
1 -3 5 -7
-344235 225420 -33882 162741
2 0
0 0
4 8
-2 -2
1 0
1 -2
-1 1
-456 123