编程题
### 问题描述
麻衣是一个伟大的魔法师,她住在一片神奇的魔法森林里。这片森林由 $N$ 个奇特的魔法区域构成,每个魔法区域都是一个独特的魔力区间,可以用一对实数 $[a_i, b_i]$ 来表示。一个魔法区域 $[L, R]$ 能被保护起来,当且仅当一个护盾在 $L \leq x \leq R$ 的某个地方存在。
现在森林的安全受到了威胁,一些邪恶的力量正在试图破坏这片魔法森林。麻衣必须用她的魔法力量来阻止这个邪恶的计划。她需要确保所有的魔法区域都被保护起来,并且找出至少需要多少个护盾来防止所有魔法区域被破坏。
你能帮助麻衣找到最小的护盾数量吗?
### 输入格式
第一行包含一个整数 $N$,表示魔法区域的数量。
接下来的 $N$ 行,每行包含两个用空格分隔的整数 $a_i$ 和 $b_i$。
数据范围保证: $1 \leq N \leq 10^5$, $0 \leq a_i \leq b_i \leq 2000$。
### 输出格式
输出一个整数,表示需要的最小护盾数量。
### 样例输入
```
3
1 3
2 5
6 9
```
### 样例输出
```
2
```
### 说明
有三个魔法区域 $[1,3]$,$[2,5]$ 和 $[6,9]$。至少需要 $2$ 个护盾来保护这些区域。在一个可能的解决方案中,你可以在 $x = 2$ 和 $x = 6$ 的位置放置两个护盾。