[POI2017] Flappy Bird

题目背景

`《飞扬的小鸟》` 是一款风靡的小游戏。

题目描述

在游戏中,小鸟一开始位于 $(0,0)$ 处,它的目标是飞到横坐标为 $X$ 的某个位置上。 每一秒,你可以选择点击屏幕,那么小鸟会从 $(x,y)$ 飞到 $(x+1,y+1)$,或者不点击,那么小鸟会飞到 $(x+1,y-1)$。 在游戏中还有 $n$ 个障碍物,用三元组 $(x_i,a_i,b_i)$ 描述,表示在直线 $x=x_i$ 上,$y\le a_i$ 或者 $y\ge b_i$ 的部分都是障碍物,碰到或者擦边都算游戏失败。 现在,请你求出小鸟从 $(0,0)$ 飞到目的地最少需要点击多少次屏幕。

输入输出格式

输入格式


第一行包含两个整数 $n,X$。 接下来 $n$ 行,每行三个整数 $x_i,a_i,b_i$。数据保证 $x_i<x_{i+1}$。

输出格式


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

输入输出样例

输入样例 #1

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

输出样例 #1

5

说明

对于 $100\%$ 的数据,$0\le n\le 500000$,$1\le X\le10^9$,$0<x_i<X$,$-10^9\le a_i<b_i\le 10^9$。 ------- ### 样例解释: ![](https://cdn.luogu.com.cn/upload/image_hosting/9lse80af.png)