AT_abc434_c [ABC434C] Flapping Takahashi
Description
高橋君は風船で空を飛ぶことにしました。高橋君は時刻 $ 0 $ (単位は秒) の時点で高度 $ H $ にいて、これから $ 10^9 $ 秒間飛行します。
高橋君は自身が飛んでいる高度を $ 1 $ 秒あたり $ 1 $ まで変化させることが出来ます。ただし、高度を $ 0 $ 以下にすることはできません。
- 言い換えると、高橋君の時刻 $ t $ における高度を $ F(t) $ とした時、 $ F(t) $ は以下の条件を全て満たします。
- $ F(0) = H $
- $ 0 \leq t \lt u \leq 10^9 $ において $ -1 \leq \dfrac{F(u) - F(t)}{u - t} \leq 1 $
- $ 0 \leq t \leq 10^9 $ において $ F(t) \gt 0 $
$ N $ 個の高度に関する目標があります。 $ i $ 個目の目標は時刻 $ t_i $ 時点での高度を $ l_i $ 以上 $ u_i $ 以下にすることです。
高橋君は目標を全て達成するような飛行が可能ですか?
$ T $ 個のテストケースが与えられるので、それぞれに対して答えを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。ここで $ \mathrm{case}_i $ は $ i $ 番目のテストケースを意味する。
> $ T $
> $ \mathrm{case}_1 $
> $ \mathrm{case}_2 $
> $ \vdots $
> $ \mathrm{case}_T $
各テストケースは以下の形式で与えられる。
> $ N $ $ H $
> $ t_1 $ $ l_1 $ $ u_1 $
> $ t_2 $ $ l_2 $ $ u_2 $
> $ \vdots $
> $ t_N $ $ l_N $ $ u_N $
Output Format
$ T $ 行出力せよ。 $ i $ 行目には、 $ i $ 番目のテストケースにおいて目標を全て達成するような飛行が可能である場合 `Yes` を、そうでない場合 `No` を出力せよ。
Explanation/Hint
### Sample Explanation 1
$ 1 $ 番目のテストケースについて、高橋君は以下の方法で飛行することで全ての目標を達成することが出来ます。
- 時刻 $ 0 $ の時点で高橋君は高度 $ 5 $ にいる。
- 時刻 $ 0 $ から時刻 $ 2 $ にかけて高橋君は秒速 $ 0.5 $ で高度を下げる。
- 時刻 $ 2 $ の時点で高橋君は高度 $ 5 - 0.5 \times 2 = 4 $ にいる。
- 時刻 $ 2 $ から時刻 $ 3 $ の間、高橋君は同じ高度にとどまる。
- 時刻 $ 3 $ の時点で高橋君は高度 $ 4 $ にいる。高橋君は $ 1 $ 番目の目標を満たす。
- 時刻 $ 3 $ から時刻 $ 8 $ にかけて高橋君は秒速 $ 1 $ で高度を上げる。
- 時刻 $ 8 $ の時点で高橋君は高度 $ 4 + 1 \times 5 = 9 $ にいる。高橋君は $ 2 $ 番目の目標を満たす。
$ 2 $ 番目のテストケースについて、高橋君はどのように飛行しても目標を全て達成することは出来ません。
### Constraints
- $ 1 \leq T \leq 10^5 $
- $ 1 \leq N \leq 10^5 $
- $ 1 \leq H \leq 10^9 $
- $ 1 \leq t_1 \lt t_2 \lt \dots \lt t_N \leq 10^9 $
- $ 1 \leq l_i \leq u_i \leq 10^9 $
- 全てのテストケースにおける $ N $ の総和は $ 10^5 $ 以下
- 入力される値は全て整数