在日常语言中,对称性指的是一种和谐、优美的比例与平衡感。在数学中,“对称”有着更精确的定义,即一个对象在某种变换下保持不变,这些变换包括反射、旋转或缩放。
二维图形的对称轴是一条直线,如果作该直线的垂线,那么垂线上距离对称轴相等的任意两点都是相同的。另一种理解方式是,如果将图形沿该轴对折,两半部分将完全重合:这两半互为镜像。因此,正方形有四条对称轴,因为有四种不同的折叠方式能使边缘完全重合。出于同样的原因,圆有无数条通过其圆心的对称轴。
在本题中,给定二维笛卡尔平面上的 $n$ 个矩形,它们的边与坐标轴平行。任意两个矩形的交集面积为零。你的任务是找出由这些矩形组成的图形的对称轴。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$ ($1 \le T \le 10^5$),表示测试数据的组数。
对于每组数据,第一行包含一个整数 $n$ ($1 \le n \le 10^5$),表示矩形的数量。 接下来的 $n$ 行中,第 $i$ 行 ($1 \le i \le n$) 包含四个整数 $x_1, y_1, x_2$ 和 $y_2$ ($x_1 < x_2, y_1 < y_2$),表示第 $i$ 个矩形的两个对角坐标 $(x_1, y_1)$ 和 $(x_2, y_2)$。
保证所有测试数据的 $n$ 之和不超过 $10^5$,且所有坐标的绝对值不超过 $100\,000\,007$。
输出格式
对于每组数据,第一行输出一个整数 $m$,表示对称轴的数量。第二行输出 $3m$ 个空格分隔的整数 $s_0, s_1, \dots, s_{3m-1}$,其中对于所有 $0 \le i < m$,满足 $\gcd(s_{3i}, s_{3i+1}, s_{3i+2}) = 1$,表示第 $(i+1)$ 条对称轴为 $s_{3i} \cdot x + s_{3i+1} \cdot y = s_{3i+2}$。注意 $\gcd(a, b, c)$ 表示 $a, b, c$ 的最大公约数。
如果有多个解,你需要输出字典序最大的解。解 $\{s_i\}_{i=0}^{3m-1}$ 比 $\{t_i\}_{i=0}^{3m-1}$ 字典序更大,当且仅当存在某个 $j$ ($0 \le j < 3m$),使得 $s_j > t_j$ 且对于所有 $0 \le i < j$ 都有 $s_i = t_i$。
样例
输入 1
3 2 -1 -1 0 1 0 0 1 2 2 -1 -1 0 0 0 0 1 1 3 -1 -1 0 1 0 -1 1 0 0 0 1 1
输出 1
0 2 1 1 0 1 -1 0 4 1 1 0 1 0 0 1 -1 0 0 1 0
说明
下图展示了第三组样例。
第三组样例中的矩形。
第三组样例中的所有对称轴。