#P156. 穿墙人

穿墙人

题目描述

穿墙术是现代魔术表演中常见的一个节目。魔术中的穿墙人可以穿过预先设计好的若干道墙。所有的墙被安置在一个网格区域中,如图所示,‘?’表示墙所占据的网格,所有的墙都水平放置,宽度为1个单位,但长度可能不同。任何两道墙不会相互重叠,即任何一个‘?’不能同时属于两道或两道以上的墙。穿墙人的能量有限,每次表演至多只能穿过k道墙。

表演开始时,主持人让观众任选网格的某一列,然后穿墙人开始沿着此列从网格的上端穿过中间的每一道墙到达网格的底部。但如果观众所选择的那一列中有大于k道墙,则穿墙人的表演会失败。

例图所示,如果k=3,则穿墙人可以自上而下地穿过除第6列外的任何列,因为只有第6列需要穿越4道墙,但穿墙人在同一列上最多只能穿过3道墙。

22576663-8CD5-FC26-ACE9-4811E38068C1177.jpg

当所有的墙给出之后,如果知道穿墙人当前的能量K,我们希望移去最少数目的墙,才能使得穿墙人能够穿越任何一列。

对于图中的例子,如果k=3,穿墙人无法穿越第6列,但是只要把第3行的墙移去(不唯一),则穿墙人就可以穿过任意一列。因此对于这个例子最少需要移去1道墙。

输入格式

第一行是用空格隔开的两个整数n和k,其中1 ≤ n ≤ 100,0 ≤ k ≤ 100;n表示墙的数目,k表示穿墙人在同一列上最多能穿过多少道墙。

接下来有n行,每行是用空格隔开的四个整数x1, y1, x2, y2,其中(x1, y1)和(x2, y2)分别表示一道墙的两个端点(注意,根据题意,一定有y1=y2)。

x, y坐标的范围为[0, 100],左上角的坐标定为(0, 0)。

输出格式

只包含一个整数,即为了让穿墙人能够穿越任意一列所需要移去的最少的墙的数目。

样例

样例数据

input

7 3 
0 0 3 0 
6 1 8 1
2 3 6 3 
4 4 6 4 
0 5 1 5 
5 6 7 6 
1 7 3 7

output

1

限制与提示

数据规模与约定

时间限制:1s1 \text {s}

空间限制:256MB256 \text {MB}