Emuskald 想设计一座人工瀑布。现代的人工瀑布由多个水平面板组成,这些面板固定在宽阔的平墙上。水沿着墙的顶部从一个板流向另一个板,直到到达墙的底部。
墙壁上有高度 t 和 n 个面板。每个板都是高度为 hi 的水平段。墙的高度为 t,墙上有 n 个板。每个板是在高度 hi 处的水平线段,从 li 开始,到 ri 结束。第 i 个面板连接平面的点 (li,hi) 和 (ri,hi)。墙顶可视为连接点 (−109,t) 的板。同样,墙的底部可以被视为连接点 (−109,t) and (109,t) 的板。没有两个面板重叠。
Emuskald 知道,为了使瀑布美观,只有在满足以下条件的情况下,它才能从面板 i 流向面板 j:
那么 i→j 的流量等于 min(ri,rj)−max(li,lj),瀑布的重叠部分。
Emuskald 已经决定,在他的瀑布中,水将以一条从上到下的单一路径流动。如果水流到面板(墙底部除外),水将进一步下落到正下方的一个面板。然后将瀑布中的总水量定义为瀑布路径上两个连续面板之间的最小重叠。注意:
为了建造一个真正伟大的瀑布,Emuskald 必须最大限度地利用水流,但是有太多的板,他很难规划他的创作。 下面是 Emuskald 想要的瀑布示例:
请帮助Emuskald找到最大可能水流的价值。
Emuskald was hired to design an artificial waterfall according to the latest trends in landscape architecture. A modern artificial waterfall consists of multiple horizontal panels affixed to a wide flat wall. The water flows down the top of the wall from panel to panel until it reaches the bottom of the wall.
The wall has height t and has n panels on the wall. Each panel is a horizontal segment at height hi which begins at li and ends at ri. The i-th panel connects the points (li,hi) and (ri,hi) of the plane. The top of the wall can be considered a panel connecting the points (−109,t) and (109,t). Similarly, the bottom of the wall can be considered a panel connecting the points (−109,0) and (109,0). No two panels share a common point.
Emuskald knows that for the waterfall to be aesthetically pleasing, it can flow from panel i to panel j (i→j) only if the following conditions hold:
Then the flow for i→j is equal to min(ri,rj)−max(li,lj) , the length of their horizontal projection overlap.
Emuskald has decided that in his waterfall the water will flow in a single path from top to bottom. If water flows to a panel (except the bottom of the wall), the water will fall further to exactly one lower panel. The total amount of water flow in the waterfall is then defined as the minimum horizontal projection overlap between two consecutive panels in the path of the waterfall. Formally:
To make a truly great waterfall Emuskald must maximize this water flow, but there are too many panels and he is having a hard time planning his creation. Below is an example of a waterfall Emuskald wants:
Help Emuskald maintain his reputation and find the value of the maximum possible water flow.
The first line of input contains two space-separated integers n and t ( 1≤n≤105 , 2≤t≤109 ), the number of the panels excluding the top and the bottom panels, and the height of the wall. Each of the n following lines contain three space-separated integers hi , li and ri ( 0<hi<t , −109≤li<ri≤109 ), the height, left and right ends of the i-th panel segment.
It is guaranteed that no two segments share a common point.
Output a single integer — the maximum possible amount of water flow in the desired waterfall.
5 6
4 1 6
3 2 7
5 9 11
3 10 15
1 13 16
4
6 5
4 2 8
3 1 2
2 2 3
2 6 12
1 0 7
1 8 11
2
The first test case corresponds to the picture.