市长决定是时候实施一套新的电视发射机系统了。城市可以表示为长度为 $D$ 的线段,线段上有不同高度的建筑物。建筑物的宽度可以忽略不计。在某些建筑物的顶部设置了电视发射机,它们的尺寸也可以忽略不计。
电视发射机向周围的所有方向发射电视信号。信号在空间中沿直线传播,且不能穿过建筑物。如果城市中的某个点能够接收到来自现有发射机的信号,则认为该点被覆盖。
找出城市中被电视信号覆盖的线段,并输出其长度。
输入格式
输入的第一行包含整数 $N$ ($1 \le N \le 3 \cdot 10^5$),表示建筑物的数量,以及整数 $D$ ($1 \le D \le 10^9$),表示城市的长度。
接下来的 $N$ 行,每行包含三个数字,描述第 $i$ 栋建筑物:
- 一个数字,决定建筑物顶部是否有发射机:
0(无)或1(有) - 一个整数 $X_i$ ($0 \le X_i \le D$),表示建筑物与城市左端点之间的距离
- 一个整数 $H_i$ ($1 \le H_i \le 10^9$),表示建筑物的高度
建筑物按与城市左端点距离的升序排列。没有两栋建筑物会位于与城市左端点相同的距离处。
输出格式
输出的第一行也是唯一一行必须包含题目要求的被覆盖长度。
注意:与官方答案的最大允许绝对误差为 $10^{-3}$。
子任务
在占总分 30% 的测试数据中,$N$ 将小于或等于 $1000$。
样例
输入样例 1
3 10 1 2 6 0 4 3 0 8 2
输出样例 1
6.000000
输入样例 2
5 15 0 4 3 1 5 5 1 6 6 0 9 2 0 10 3
输出样例 2
8.500000
说明
第二个样例的解释:该样例对应于正文中的图片。图片描绘了城市。建筑物用垂直线表示,发射机用建筑物顶部的圆圈表示。x 轴上的粗线表示未被电视信号覆盖的城市区域。