#P16285. [Ucpc2020]光之战士克里普尔

[Ucpc2020]光之战士克里普尔

题目描述

算法王国外围有一道圆形围栏。圆周上等间距地立着 LL 根柱子,按顺时针方向编号为

0,1,,L1.0,1,\ldots,L-1.

柱子 00 的顺时针相邻柱子是 11,逆时针相邻柱子是 L1L-1。保证 LL 为奇数。

为方便描述,可以认为柱子 00 位于十二点方向。

反派在柱子之间连接了 NN 根橡皮筋。每根橡皮筋是一条连接两根不同柱子的直线线段。不同橡皮筋之间可以相交。

克里普尔站在圆心处,可以发射“红宝石光束”。每束光可以表示为一条从圆心出发的射线。

若射线与某根橡皮筋相交,则该橡皮筋会被切断。若射线恰好射中橡皮筋固定的柱子,也视为与该橡皮筋相交。光束和橡皮筋的宽度均可忽略。

由于每次发射都很消耗体力,请计算切断全部橡皮筋至少需要发射多少束光。

因为 LL 为奇数,不存在恰好经过圆心的橡皮筋。

输入格式

第一行包含两个整数 N,LN,L

1N105,3L109,1\le N\le 10^5, \qquad 3\le L\le 10^9,

LL 为奇数。

接下来 NN 行,每行包含两个整数 s,es,e,表示一根连接柱子 ss 与柱子 ee 的橡皮筋。

0s,eL1,se.0\le s,e\le L-1, \qquad s\ne e.

输出格式

输出切断全部 NN 根橡皮筋所需的最少发射次数。

样例 1

输入

4 17
3 16
1 6
10 5
8 13

输出

2

样例 2

输入

5 13
10 2
12 0
0 12
1 10
2 9

输出

1

样例 3

输入

7 27
9 3
21 2
23 7
1 3
25 7
2 18
23 18

输出

2

样例 4

输入

3 3
0 1
1 2
2 0

输出

2