如今,很多人都承受着压力。科学家和心理学家试图解释这种现象并寻找抗压方法。另一方面,商人则试图从中获利。他们发明并销售了大量不同的抗压和放松玩具。你有时也会像其他人一样感到压力,所以你决定购买其中一种玩具。
你买的玩具看起来像是一个无限大的竹制桌面,上面放置了 $2n$ 个图钉:其中 $n$ 个是蓝色的,其余是黄色的。套装中还有一个红色的图钉和 $n$ 根橡皮筋。你可以将红色图钉钉在任何你想要的位置,然后将橡皮筋套在图钉上。十分之九的心理学家保证,如果你能以这样一种方式放置所有 $n$ 根橡皮筋:每根橡皮筋都套住一个蓝色图钉、一个黄色图钉以及中间的那个红色图钉,你就不再会有压力了。换句话说,每根橡皮筋的两端应分别连接到一个蓝色图钉和一个黄色图钉上,然后被红色图钉撑开。此外,禁止将两根不同的橡皮筋连接到同一个图钉(蓝色或黄色)上。
然而,你买的这套玩具是有缺陷的。所有的橡皮筋都很旧,如果拉伸过度可能会断裂。假设你将一根橡皮筋的两端分别连接到位于点 $A$ 和点 $B$ 的蓝色和黄色图钉上。设 $C$ 为你钉入红色图钉的位置。那么,当且仅当 $\angle ACB$ 为锐角(小于 90 度)时,橡皮筋会断裂。注意,你可以将红色图钉放在任何你想要的位置,甚至可以放在蓝色或黄色图钉所在的位置。如果 $A$ 或 $B$ 与 $C$ 重合,则 $\angle ACB$ 被视为 180 度。
你今天压力很大(不是吗?)。这就是为什么你决定寻求这个玩具的帮助。你能否将红色图钉钉在桌面的某个位置,然后放置所有 $n$ 根橡皮筋,使得没有任何橡皮筋断裂?
输入格式
第一行包含一个整数 $q$,表示测试用例的数量 ($1 \le q \le 2 \cdot 10^5$)。
每个测试用例的描述如下:第一行包含一个整数 $n$,表示每种颜色图钉的数量 ($1 \le n \le 2 \cdot 10^5$)。接下来的 $2n$ 行,每行包含两个整数 $x_i$ 和 $y_i$,表示桌面上图钉的坐标 ($-10^6 \le x_i, y_i \le 10^6$)。前 $n$ 行对应蓝色图钉,后 $n$ 行对应黄色图钉。
保证在每个测试用例中,没有两个图钉位于同一点。同时保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
每个测试用例的输出应包含一行或两行。
如果无法放置红色图钉并拉伸橡皮筋使得没有任何橡皮筋断裂,则在一行中输出 “impossible”(不含引号)。
否则,为该测试用例输出两行: 第一行应包含两个实数 $X$ 和 $Y$:所选红色图钉的坐标($|X|$ 和 $|Y|$ 不应超过 $10^9$)。 第二行应包含 $n$ 个整数 $m_i$。让我们按照输入顺序将蓝色和黄色图钉从 $1$ 到 $n$ 编号。那么 $m_i$ 表示你决定将第 $i$ 个蓝色图钉与第 $m_i$ 个黄色图钉之间的橡皮筋拉伸。换句话说,对于每个蓝色图钉,你必须输出与之匹配的黄色图钉的编号。注意,$m_i$ 应构成 $1$ 到 $n$ 的一个排列。
如果有多种可能的解,输出其中任意一个即可。角度的检查方式如下:
设 $A$、$B$ 和 $C$ 分别为蓝色图钉、与之配对的黄色图钉和红色图钉所在的点。设 $r = |AC|^2 + |CB|^2$ 且 $d = |AB|^2$,其中 $|AC|$、$|CB|$ 和 $|AB|$ 是对应图钉之间的距离。如果 $r \le d$,且绝对误差或相对误差小于 $10^{-6}$,则检查器将接受你的解。
样例
输入 1
3 3 -2 -2 1 2 -1 3 -2 3 -1 -1 2 -1 2 1 2 -1 0 2 -1 0 0 2 3 2 -2 -1 -3 -1 1 -3
输出 1
0.0 1.0 1 3 2 0.0 0.0 2 1 -0.5 -1.0 1 2
说明
考虑第一个测试用例。 我们可以选择将红色图钉放置在点 $(0, 1)$,并按以下方式配对: 1. 第一个蓝色图钉和第一个黄色图钉。 2. 第二个蓝色图钉和第三个黄色图钉。 3. 第三个蓝色图钉和第二个黄色图钉。
所有三个角都不是锐角,因此配对有效。