Bajtowicz 教授是一位备受推崇的历史学家。最近,他提出了一个大胆的假设,用以解释 Bajtopia 大陆上最早的国家形成过程。众所周知,在民族大迁徙之后,这些地区居住着 $n$ 个部落。有趣的是,每个部落都占据着一定的领土,在 Bajtopia 的地图上,这些领土表现为边与地图边缘平行的矩形。这些领土不一定是互不相交的,因此在某些地区,多种文化会发生交汇。
根据 Bajtowicz 教授的假设,如果两个部落领土的交集面积为正,那么经过一段时间后,这些部落就会合并。这会促进进一步的扩张,新形成的部落会扩展到包含它们原有领土的最小矩形(边与地图边缘平行)内部。
Bajtowicz 教授认为,这个过程会持续进行,直到某一时刻,任意两个领土之间的交集面积均为零。此时,局势趋于稳定,部落所占据的区域就演变成了最早的国家。
教授知道,即使是他的权威地位,也可能不足以让如此创新的假设被僵化的学术界所接受。幸运的是,得益于他之前的研究,他拥有两张精确的地图。其中一张描述了原始部落的位置,另一张描述了最早的国家的位置。Bajtowicz 秘密聘请你根据第一张地图,按照他的模型模拟部落的发展。当你提供理论结果后,他会将这些结果与第二张地图上的实际国家分布进行比较,从而判断他的假设是否有可能是正确的。
输入格式
输入的第一行包含一个整数 $n$ ($1 \le n \le 100\,000$),表示居住在 Bajtopia 的原始部落数量。接下来的 $n$ 行,每行包含四个整数 $x_1, x_2, y_1$ 和 $y_2$ ($0 \le x_1 < x_2 \le 1\,000\,000, 0 \le y_1 < y_2 \le 1\,000\,000$),表示某个部落占据的领土,该领土在地图上是一个以 $(x_1, y_1)$ 和 $(x_2, y_2)$ 为对角顶点的矩形。
输出格式
你的程序应在第一行输出一个整数 $m$,表示根据 Bajtowicz 的假设应该形成的国家数量。接下来,你的程序应输出 $m$ 行,每行包含四个整数 $x_1, x_2, y_1$ 和 $y_2$,用空格分隔,表示其中一个国家的领土是地图上以 $(x_1, y_1)$ 和 $(x_2, y_2)$ 为对角顶点的矩形,其中 $x_1 < x_2, y_1 < y_2$。这些四元组必须各不相同,并按字典序输出。
样例
输入 1
5 7 8 1 4 1 5 2 3 4 5 2 7 2 3 5 9 4 6 8 9
输出 1
2 1 6 2 9 7 8 1 4