yh的线段
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

yh喜欢好线段,好线段即两条线段相交且不与其他线段重合的线段。

两条线段[l_1, r_1][l_2, r_2]相交(如果存在至少一个x,使得l_1 \le x \le r_1l_2 \le x \le r_2,则认为两个线段相交)。

yh在数轴上有几条线段,他可以把在数轴上相交的线段结合,但是对于每个线段只能与其它线段结合一次,且不能与其它线段有重合部分,yh可以舍弃任何数量的线段。

给你n (2 \le n \le 1e6)条线段,如果两条线段相交且不与其他线段相交,则由这两条线段组成的线段被称为好线段,线段不能被重复使用,但可以被舍弃任意数量的线段,请你找出好线段个数的最大值。

输入描述:

第一行包含一个正数n (2 \le n \le 1e6)——线段的个数。
接下来 n行各包含两个整数l_ir_i (0 \le l_i \le r_i \le 10^9),表示n 个线段。

输出描述:

输出好线段个数的最大值。
示例1

输入

复制
5
2 2
2 8
0 10
1 2
5 6

输出

复制
1
示例2

输入

复制
7
2 4
9 12
2 4
7 7
4 8
10 13
6 8

输出

复制
3

说明

对于样例2,我们可以删除[4,8]这一条线段,然后将[2,4]和[2,4]、[6,8]和[7,7]、[9,12]和[10,13]组成三条好线段,可以看出这是最优的情况。