Taro 是茨城杰出计算学院的一名学生。本学期他修了两门课程:数学和信息学。每节课后,老师可能会布置家庭作业。Taro 在一节课中可能会收到多项作业,每项作业可能有不同的截止日期。每项作业都有一个唯一的 ID 编号。
每天放学后,Taro 最多完成一项作业,具体流程如下:首先,他通过掷硬币随机决定做哪门课程的作业。设 $S$ 为所选课程中所有尚未完成且截止日期尚未过去的作业集合。如果 $S$ 为空,即使另一门课程还有未完成的作业,他当天也会去玩电子游戏而不做任何作业。否则,设 $T \subseteq S$ 为 $S$ 中截止日期最早的作业集合,他会完成 $T$ 中 ID 最小的那项作业。
Taro 在学期结束前完成的作业数量取决于掷硬币的结果。给定家庭作业的时间表,你的任务是计算 Taro 完成作业数量的最大值和最小值。
输入格式
输入包含单个测试用例,格式如下:
$n \ m$ $s_1 \ t_1$ $\vdots$ $s_n \ t_n$
第一行包含两个整数 $n$ 和 $m$,满足 $1 \le m < n \le 400$。$n$ 表示本学期作业的总数,$m$ 表示数学课程的作业数量(因此信息学课程的作业数量为 $n - m$)。每项作业都有一个从 $1$ 到 $n$ 的唯一 ID;ID 为 $1$ 到 $m$ 的作业属于数学课程,其余属于信息学课程。接下来的 $n$ 行显示了作业的时间表。其中第 $i$ 行包含两个整数 $s_i$ 和 $t_i$,满足 $1 \le s_i \le t_i \le 400$,这意味着 ID 为 $i$ 的作业在学期的第 $s_i$ 天布置给 Taro,其截止日期为第 $t_i$ 天结束时。
输出格式
第一行输出 Taro 完成作业数量的最大值。第二行输出 Taro 完成作业数量的最小值。
样例
输入 1
6 3 1 2 1 5 2 3 2 6 4 5 4 6
输出 1
6 2
输入 2
6 3 1 1 2 3 4 4 1 1 2 4 3 3
输出 2
4 3