在平面上画有 $n$ 条互不相交的线段,每条线段都平行于直角坐标系的一条坐标轴。我们希望构造一个边数不超过 $20n$ 且边平行于坐标轴的多边形,使得给定的 $n$ 条线段中的每一条都恰好是该多边形的一条边。
多边形的每两条相邻边必须互相垂直;多边形的边除了公共顶点外不能有其他公共点。输入中的每条线段都必须是多边形的一条边。给定线段的端点坐标均为整数,但多边形顶点的坐标可以是分数。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 100\,000$),表示线段的数量。
接下来的 $n$ 行描述这些线段:每行包含四个整数 $x_1, y_1, x_2, y_2$ ($-10^8 \le x_1, y_1, x_2, y_2 \le 10^8$),表示线段的两个端点坐标 $(x_1, y_1)$ 和 $(x_2, y_2)$。每条线段的长度均不为零,且要么是垂直的,要么是水平的。这些线段互不相交。
输出格式
如果无法构造出满足条件的多边形,则在输出的第一行打印单词 NIE。否则,在第一行打印一个整数 $m$ ($m \le 20n$),表示多边形的边数。在接下来的 $m$ 行中,按多边形周长上的顺序(方向任意)打印多边形的顶点:第 $i$ 行应包含两个数字 $x, y$ ($-10^9 \le x, y \le 10^9$),表示第 $i$ 个顶点的坐标为 $(x, y)$。每个数字必须以十进制形式给出,且小数点后最多包含七位数字。
注意:出于技术原因,程序输出的多边形描述不应超过 50 MB。如果超过此限制,可能会收到 OLE(输出超限)错误。
样例
输入 1
5 -1 1 -1 -1 0 0 0 -1 0 1 2 1 2 -1 2 0 0 2 -2 2
输出 1
22 -1 1 -1 -1 -0.6 -1 -0.6 0 -0.4 0 -0.4 -1 0 -1 0 0 1.4 0 1.4 -1 1.8 -1 1.8 0 2 0 2 -1 2.4 -1 2.4 2 2 2 2 1 0 1 0 2 -2 2 -2 1