3890: 绳与钉nail

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:40 解决:4

题目描述

Reimu想悬挂灯笼,为此她需要使用钉子将一些绳子固定在横梁上。 横梁可以看作一个数轴,绳子可以看作数轴上的若干区间。Reimu可以在数轴上任选若干个点钉下钉子,一个钉子会固定住包含这个点的所有绳子。 为保持美观,Reimu希望,每根绳子都被且仅被一颗钉子固定住,在此基础上,她希望钉子的数量尽可能多。 Reimu想知道她能不能完成这个任务,如果能,最后她需要钉下多少颗钉子。


【输入格式】
第一行两个数 n,m表横梁的长度和绳子的数量。
接下来m行,每行两个数字L,R 表一条绳子的覆盖范围。(0<=L<=R<=n)
【输出格式】
一行一个数,表答案,如果无解,输出-1。
【样例输入】
5 3
1 4
2 5
3 4
【样例输出】
1


【样例解释】
在位置4钉钉子即可完成要求。
【数据规模和约定】
对于30%数据,n<=15,m<=10
对于70%数据,n<=2000,m<=1000
对于100%数据,n<=200000,m<=100000


输入

第一行两个数 n,m表横梁的长度和绳子的数量。 接下来m行,每行两个数字L,R 表一条绳子的覆盖范围。(0<=L<=R<=n)

输出

一行一个数,表答案,如果无解,输出-1。

样例输入 复制

5 3
1 4
2 5
3 4

样例输出 复制

1