Chalk 一直在世界各地旅行,并与朋友们在各个最酷的地方拍照留念。最近,他去了欧洲,在那里研究了餐巾折叠的历史。从那时起,Chalk 就开始收集各种各样的餐巾,以练习餐巾折叠的艺术。
Chalk 的餐巾可以定义为简单多边形。简单多边形是指除了相邻边在其公共顶点处相交外,没有任何边相交的多边形。多边形的每个顶点恰好位于两条边上。
Chalk 通过在餐巾上绘制折叠图案来折叠餐巾。折叠图案是一组画在餐巾上的 $K-1$ 条线段。每条线段连接定义餐巾的多边形边界上的两个有理坐标点,并完全包含在多边形内。折叠图案中的任意两条线段不得接触或重叠,除非它们在公共端点处。由 $K-1$ 条线段组成的折叠图案将餐巾分割成 $K$ 个多边形区域。如果两个点之间存在某条连续线(不一定是直线),且该线不与多边形的任何边或折叠图案中的任何线段相交(即使在端点处也不相交),则称这两个点位于同一区域。
Chalk 只对整齐的折叠图案感兴趣。如果任何两个相邻于同一折叠线段 $F$ 的区域关于 $F$ 对称,则称该折叠图案是整齐的。这意味着沿着该线段折叠餐巾将使这两个区域完美重合。
下图展示了一个包含 $K=8$ 个区域的整齐折叠图案。
Chalk 已经成功地使用整齐的折叠图案折叠了他的餐巾收藏。但他收藏中的一些餐巾,他一直没能找到整齐的折叠图案。
对于这些餐巾中的每一条,Chalk 需要你的帮助来找到一个包含 $K$ 个区域的整齐折叠图案,或者确定不存在这样的整齐折叠图案。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例以一行开始,包含两个整数 $N$ 和 $K$:定义 Chalk 餐巾的多边形的点数,以及通过包含 $K-1$ 条线段的整齐折叠图案将餐巾分割成的区域数。
定义餐巾的多边形表示为 $N$ 个顶点的列表,这些顶点是沿多边形周长顺时针方向遍历时遇到的,第一个顶点是任意选择的。接下来的 $N$ 行代表该列表。其中第 $i$ 行包含两个整数 $X_i$ 和 $Y_i$,表示第 $i$ 个点位于二维空间中的 $(X_i, Y_i)$。
输出格式
对于每个测试用例,输出一行包含 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),如果可以制作出包含 $K$ 个区域的整齐折叠图案,则 $y$ 为 POSSIBLE,否则为 IMPOSSIBLE。
如果可以制作出包含 $K$ 个区域的整齐折叠图案,则再输出 $K-1$ 行,列出包含 $K$ 个区域的整齐折叠图案的线段,顺序不限。每行应代表一个不同的线段,格式为 $A_x\ A_y\ B_x\ B_y$,其中 $(A_x, A_y)$ 和 $(B_x, B_y)$ 是线段的两个端点,顺序不限。$A_x, A_y, B_x$ 和 $B_y$ 中的每一个都应以 $N/D$ 的形式表示,其中 $N$ 和 $D$ 是正整数(书写时无前导零),且互质,代表有理数 $N/D$。$N$ 和 $/$ 之间,以及 $/$ 和 $D$ 之间不得有空格。
数据范围
时间限制:每个测试集 60 秒。 内存限制:1GB。 $1 \le T \le 100$。 $3 \le N \le 200$。 $1 \le X_i \le 1000$,对于所有 $i$。 $1 \le Y_i \le 1000$,对于所有 $i$。 $N$ 个点按顺时针顺序给出。 多边形的任意两条相邻边不共线。 该多边形是一个面积严格为正的简单多边形。 除了相邻边在其公共端点处相交外,没有任何两条边相交。
样例
输入 1
4 4 2 1 1 1 2 2 2 2 1 3 2 1 1 1 2 2 1 8 2 1 3 3 5 5 5 4 4 7 3 5 1 4 2 3 1 8 2 1 3 3 5 4 4 5 5 7 3 5 1 4 2 3 1
输出 1
Case #1: POSSIBLE 1/1 2/1 2/1 1/1 Case #2: POSSIBLE 1/1 1/1 3/2 3/2 Case #3: IMPOSSIBLE Case #4: POSSIBLE 1/1 3/1 7/1 3/1
输入 2
1 10 8 4 1 3 1 2 2 2 3 1 3 1 4 2 4 3 3 3 2 4 2
输出 2
Case #1: POSSIBLE 3/1 1/1 4/1 2/1 3/1 1/1 3/1 2/1 2/1 2/1 3/1 2/1 2/1 2/1 3/1 3/1 2/1 3/1 3/1 3/1 2/1 3/1 2/1 4/1 1/1 3/1 2/1 4/1
说明
注:样例 2 对测试集 1 无效。只有样例 1 会在运行测试集 1 之前进行测试(与通常的样例测试方式相同)。此外,样例 2 不会在运行测试集 2 之前进行测试。