在印刷电路板中,导线布置在非导电板上。由于同一层中的导线不能交叉(否则会造成短路),在更复杂的情况下,会使用将导线分配到由非导电板材料隔开的若干层中的电路板。然而,层数越多的电路板越昂贵。因此,制造商试图将所需的导线分配到各个层中,以使所需的层数最少。
在本题中,我们考虑这样一种电路板:每条导线连接位于电路板相对两侧的两个端口,并寻求使这种电路板的成本最小化。
例如,考虑下图左侧所示的电路板。如果一条导线需要连接 A 和 B,另一条导线需要连接 D 和 C,这可以在单层中实现,如中间的图所示。但是,连接 A 和 C 的导线与连接 D 和 B 的导线不能布置在同一层中,如右侧的图所示。
编写一个程序,给定 $W \times H$ 电路板上 $N$ 条导线的端点位置,确定容纳所有导线所需的最少层数。
可以假设导线的宽度与端口之间的距离相比非常小。也就是说,在任意两条导线之间,总是有足够的空间容纳第三条导线。
输入格式
输入的第一行包含一个整数 $N$($1 \le N \le 10^5$),表示导线的数量。
接下来的 $N$ 行,每行包含两个由空格隔开的整数 $X_{i1}$ 和 $X_{i2}$($0 \le X_{ij} \le 10^6$),表示第 $i$ 条导线连接点 $(X_{i1}, 0)$ 和 $(X_{i2}, H)$。
可以假设输入中给出的所有 $2 \cdot N$ 个端点都是互不相同的。
输出格式
输出仅包含一行,一个整数,表示容纳所有所需导线所需的最少层数。
样例
输入样例 1
2 1 1 3 3
输出样例 1
1
输入样例 2
2 1 3 3 1
输出样例 2
2