#452. Flappy Bird

Flappy Bird

《飞扬的小鸟》是一款风靡的小游戏。在游戏中,小鸟一开始位于 (0,0)(0,0) 处,它的目标是飞到横坐标为 XX 的某个位置上。

每一秒,你可以选择点击屏幕,那么小鸟会从 (x,y)(x,y) 飞到 (x+1,y+1)(x+1,y+1),或者不点击,那么小鸟会飞到 (x+1,y1)(x+1,y-1)

在游戏中还有 nn 个障碍物,用三元组 (xi,ai,bi)(x_i,a_i,b_i) 描述,表示在直线 x=xix=x_i上,yaiy\le a_i 或者 ybiy\ge b_i 的部分都是障碍物,碰到或者擦边都算游戏失败。

请求出小鸟从 (0,0)(0,0) 飞到目的地最少需要点击多少次屏幕。

输入格式

第一行包含两个整数 n(0n500000),X(1X109)n(0\le n\le 500000),X(1\le X\le 10^9)

接下来 nn 行,每行三个整数xi,ai,bi(0<xi<X109ai<bi109)x_i,a_i,b_i(0< x_i< X,-10^9\le a_i< b_i\le 10^9 )

数据保证xi<xi+1x_i< x_{i+1}

输出格式

如果无论如何都飞不到目的地,输出NIE,否则输出点击屏幕的最少次数。

样例输入

4 11
4 1 4
7 -1 2
8 -1 3
9 0 2

样例输出

5

数据范围