题目描述
农夫约翰在管理农场的各个方面都很可靠,除了一点:他在及时割草方面很糟糕。事实上,他每天只能移动割草机一次。在第一天,他从位置(x1,y1)开始,在第二天,他沿着直线段割草到位置(xd,yd),在农场的2D地图上水平或垂直移动;也就是说,xd=xd−1,或yd=yd-1。FJ连续几天在水平和垂直移动之间交替。
FJ的进步是如此之慢,以至于在他完成所有的割草之前,他割草的一些草可能会长回来。在d天切割的任何部分草都将在d+T天重新出现,因此如果FJ的割草路径与他至少提前TT天切割的路径相交,他将再次在同一点切割草。为了努力改革他糟糕的割草策略,FJ想统计一下这种情况发生的次数。
请计算FJ的割草路径穿过草已经重新生长的早期部分的次数。您应该只计算“垂直”交叉点,该交叉点定义为水平段和垂直段之间的公共点,而水平段和垂直段都不是交叉点的端点。
输入格式:
输入的第一行包含N(2≤N≤100000)和T(1≤T≤N、 T是偶数)。
接下来的N行描述了第1…N天割草机的位置。包含整xi和yi(非负整数,最大1000000000)。
输出格式:
请输出上述交叉点数量的计数,其中FJ重新切割先前切割后重新生长的草点。
输入样例#1:
7 4
0 10
10 10
10 5
3 5
3 12
6 12
6 3
输出样例#1:
1