你了解 Just Odd Inventions 公司吗?这家公司的业务是进行“纯粹奇妙的发明 (just odd inventions)”。在此简称为 JOI 公司。
JOI 公司有 $N$ 名员工,编号从 1 到 $N$。所有员工都在时刻 0 到时刻 $M$ 之间工作。在时刻 0 和时刻 $M$,所有员工都必须在公司内。
今天,每位员工恰好外出一次。员工 $i$ ($1 \le i \le N$) 在时刻 $S_i$ 离开公司,并在时刻 $T_i$ 返回公司。不会有两名或两名以上的员工在同一时刻进出公司。
JOI 公司的入口处有一扇大门,员工只能从这里进出公司。门上有一把锁,锁的状态要么是开着的,要么是关着的。在公司内部可以自由地开关锁,但在公司外部,只有持有合用钥匙的人才能开关锁。在时刻 0,门锁是关着的。
每位员工在返回公司时,必须能够进入公司。也就是说,对于所有 $i$ ($1 \le i \le N$),员工 $i$ 必须持有合用钥匙,或者在时刻 $T_i$ 时门锁是开着的,至少满足其中一个条件。当员工返回公司时,以及持有合用钥匙的员工离开公司时,可以选择是否锁门。没有合用钥匙的员工离开公司时不能锁门。
JOI 公司的社长决定将合用钥匙交给 $N$ 名员工中的 $K$ 人。为了避免合用钥匙丢失,员工之间不能互相转交钥匙。此外,由于 JOI 公司社长非常重视工作效率,员工除了在自己进出公司时,不能开关门锁。
出于安全考虑,社长希望在工作时间 $M$ 内,门锁处于关闭状态的总时长尽可能长。
题目描述
给定员工的进出信息以及要分发的合用钥匙数量,请编写一个程序,计算在合理管理门锁开关的情况下,门锁处于关闭状态的总时长的最大值。
输入格式
从标准输入读取以下数据:
- 第 1 行包含三个整数 $N, M, K$,以空格分隔。这表示 JOI 公司有 $N$ 名员工,所有员工在时刻 0 到时刻 $M$ 之间工作,且将合用钥匙交给 $N$ 人中的 $K$ 人。
- 接下来的 $N$ 行中的第 $i$ 行 ($1 \le i \le N$) 包含两个整数 $S_i, T_i$,以空格分隔。这表示员工 $i$ 在时刻 $S_i$ 离开公司,并在时刻 $T_i$ 返回公司。
输出格式
在标准输出中,输出一行一个整数,表示在合理管理门锁开关的情况下,门锁处于关闭状态的总时长的最大值。
数据范围
所有输入数据满足以下条件:
- $1 \le N \le 2000$
- $1 \le M \le 1\,000\,000\,000$
- $1 \le K < N$
- $0 < S_i < T_i < M$ ($1 \le i \le N$)
- 对于任意 $i, j$ ($1 \le i \le N, 1 \le j \le N, i \neq j$),满足 $S_i \neq S_j, S_i \neq T_j, T_i \neq T_j$
子任务
子任务 1 [10 分]
- 满足 $N \le 20$
- 满足 $M \le 1\,000\,000$
子任务 2 [90 分]
- 无额外限制。
样例
样例 1
输入:
4 20 2 3 11 5 15 6 10 12 18
输出:
13
说明 1
在该样例中,JOI 公司有 4 名员工,其中 2 人持有合用钥匙。若将钥匙交给员工 2 和员工 4,并按以下方式操作,门锁关闭的总时长为 13:
- 时刻 0,门锁关闭。
- 时刻 3,员工 1 离开公司。由于员工 1 没有钥匙,门锁无法关闭。
- 时刻 5,员工 2 离开公司,关闭门锁。
- 时刻 6,员工 3 离开公司。由于员工 3 没有钥匙,门锁无法关闭。
- 时刻 10,员工 3 返回公司。保持门锁开启。
- 时刻 11,员工 1 返回公司,关闭门锁。
- 时刻 12,员工 4 离开公司,关闭门锁。
- 时刻 15,员工 2 返回公司,关闭门锁。
- 时刻 18,员工 4 返回公司,关闭门锁。
- 直到时刻 20,门锁保持关闭。
不存在使门锁关闭总时长超过 13 的方法,因此输出 13。
样例 2
输入:
20 100000 8 29930 89724 56133 70462 28063 78568 32483 64351 9410 20176 55809 62944 32450 85190 73536 73966 20452 78868 45458 63484 8286 47425 76018 81622 16736 49308 85383 94641 25100 40002 22158 22821 23508 41781 61709 98882 58110 78431 28448 89247
输出:
72454