本题的前两段(不计本段)与 "Juggle Struggle: Part 1" 完全相同。这两个问题可以独立求解;你不需要阅读或解决其中一个来阅读或解决另一个。
作为 Graceful Chainsaw Jugglers 团体的经理,你决定为表演增添一些趣味。你不再让每个杂技演员各自抛接自己的电锯,而是希望他们两两配对,每对演员互相抛接电锯。在这场新的表演中,将有 $2 \times N$ 名杂技演员同时在舞台上,排成 $N$ 对,每名演员恰好属于一对。
你认为如果不同杂技演员对抛接的电锯存在碰撞风险,表演会更令人印象深刻。设舞台为一个二维平面,将平面上连接一对杂技演员位置的线段称为该对的“杂技路径”。当两条杂技路径相交时,我们称这些对抛接的电锯存在碰撞风险。我们将杂技演员的空间位置和配对方式称为一种“排列”。如果每两对杂技演员的电锯都存在碰撞风险,则称该排列是“宏伟的”。也就是说,要使排列宏伟, $N$ 条杂技路径中的每一条都必须与其余 $N-1$ 条杂技路径相交(但这些交点不一定非要在同一个位置)。
经过一些最后的调整,你得到了你认为宏伟的排列。考虑到时间紧迫,你想要编写一个检查器来确定它是否确实宏伟。如果不是,那么最多有 25 对杂技演员未能与所有其他对相交。你希望你的检查器报告所有这些需要检查的杂技演员对的列表。
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含一个整数 $N$,表示杂技演员对的数量。接下来有 $N$ 行,第 $i$ 行包含四个整数 $X_i, Y_i, X'_i, Y'_i$。$(X_i, Y_i)$ 和 $(X'_i, Y'_i)$ 是组成第 $i$ 对杂技演员的两个人的坐标。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $y$ 是大写的 MAGNIFICENT(如果输入代表一个宏伟的排列)。否则,$y$ 应该是一个严格递增的整数列表。当且仅当第 $i$ 对杂技演员的杂技路径未能与至少一条其他杂技路径相交时,整数 $i$ 才应出现在该列表中。
数据范围
内存限制:1GB。 $-10^9 \le X_i \le 10^9$,对于所有 $i$。 $-10^9 \le Y_i \le 10^9$,对于所有 $i$。 $-10^9 \le X'_i \le 10^9$,对于所有 $i$。 $-10^9 \le Y'_i \le 10^9$,对于所有 $i$。 没有三名杂技演员的位置共线。(注意,这也意味着没有两名杂技演员处于相同位置。) 对于除最多 25 对杂技演员之外的所有对,它们的杂技路径与所有 $N-1$ 条其他杂技路径相交。 注意:可能存在也可能不存在一种配对方式,使得最终的排列是宏伟的。
样例
样例输入 1
4 2 -1 -1 -1 1 1 1 1 -1 2 -1 -1 1 1 -1 1 1 -1 4 1 2 4 2 2 1 3 1 2 4 3 0 3 3 2 3 3 1 1 2 2 3 7 4 8 8 3 9 3
样例输出 1
Case #1: 1 2 Case #2: MAGNIFICENT Case #3: 1 2 4 Case #4: 1 2 3
说明
在样例 1 中,只有两对,它们的路径不相交。 在样例 2 中,该排列是宏伟的:每一对的路径都与所有其他对的路径相交。 在样例 3 中,只有第 3 对的路径与所有其他对的路径相交。