管理委员会计划在夜间引入一套新的安保系统来监控博物馆。博物馆的平面图是一个直角多边形 $P$,其边要么是水平的,要么是垂直的。此外,$P$ 具有 $x$-单调边界,即 $P$ 与任何垂直线的交集要么为空,要么是一条线段。
新的安保系统基于红外激光束传感器。红外激光束传感器单元沿着放置在 $P$ 内部的直线轨道移动,并向垂直于轨道的方向发射激光束。当它检测到任何移动时,会立即发出紧急警报。
轨道表示为水平或垂直线段。轨道的长度不受限制。如果 $q = p$ 或者满足以下条件,则 $P$ 内的一点 $q$ 被位于轨道上一点 $p$ 的传感器监控:
(i) 连接 $p$ 和 $q$ 的线段不会接触到 $P$ 的外部。 (ii) 轨道与连接 $p$ 和 $q$ 的线段相互垂直。
如果 $P$ 内部的每一点都被集合 $T$ 中的轨道上的传感器监控,则称多边形 $P$ 被轨道集合 $T$ 完全监控。委员会想知道完全监控博物馆所需的最少红外激光束传感器单元数量。需要注意两点。第一,$P$ 的边界除了端点外不与轨道相交;第二,轨道之间不能相交,即使在它们的端点处也不行。例如,监控如下图所示的 $x$-单调直角多边形至少需要 3 个传感器单元。在此图中,蓝线表示轨道。
给定一个 $x$-单调直角多边形,编写一个程序来计算完全监控该多边形所需的最少传感器单元数量。
输入格式
程序从标准输入读取数据。输入的第一行包含一个整数 $n$ ($4 \le n \le 100,000$),其中 $n$ 是 $x$-单调直角简单多边形的顶点数。接下来的 $n$ 行给出了逆时针方向的顶点坐标。每个顶点由两个用空格分隔的数字表示,分别是顶点的 $x$ 坐标和 $y$ 坐标。每个坐标都是一个介于 $-100,000,000$ 和 $100,000,000$ 之间的整数(包含边界)。
输出格式
程序输出到标准输出。仅打印一行,包含一个整数,表示完全监控给定多边形所需的最少传感器单元数量。
样例
样例输入 1
20 5 1 14 1 14 7 16 7 16 9 18 9 18 11 13 11 13 13 11 13 11 4 9 4 9 6 7 6 7 10 3 10 3 12 1 12 1 8 5 8
样例输出 1
3
样例输入 2
12 12 5 4 5 4 3 1 3 1 1 6 1 6 3 9 3 9 1 15 1 15 3 12 3
样例输出 2
2