一群青蛙意外掉进了一个大坑的底部。它们逃离坑的唯一方法是跳出去。每只青蛙 $i$ 由三个参数 $(l_i, w_i, h_i)$ 描述,其中 $l_i$ 是它的跳跃能力,$w_i$ 是它的体重,$h_i$ 是它的身高。跳跃能力决定了青蛙能跳多高。如果一只青蛙的跳跃能力严格大于坑的深度,它就可以直接逃离坑。然而,这些青蛙是利他的。它们的目标不是自私地逃走并将跳跃能力不足的青蛙留在坑里,而是共同协作,尽可能多地拯救青蛙。
图片来自 szftlgs.com, CC0
青蛙们意识到,如果青蛙 $A$ 在跳跃前爬到青蛙 $B$ 的背上,那么青蛙 $A$ 逃离坑的机会就更大了:如果 $h_B + l_A$ 严格大于坑的深度,它就能逃离。
此外,如果背着青蛙 $A$ 的青蛙 $B$ 爬到青蛙 $C$ 的背上,那么青蛙 $A$ 的情况会更好:如果 $h_C + h_B + l_A$ 严格大于坑的深度,它现在就能逃离坑。
青蛙们可以通过这种方式搭建更高的青蛙堆,唯一的限制是:任何青蛙所承载的其他青蛙的总重量不得等于或超过它自身的体重。一旦一个青蛙堆成功帮助一只青蛙逃离,堆中的青蛙就会跳回坑底,然后它们可以重新组成一个新的青蛙堆(可能由不同的青蛙组成)。问题很简单:假设青蛙们协作以最大化逃离数量,最终有多少只青蛙能逃离坑?
输入格式
第一行包含两个整数 $n$ 和 $d$ ($1 \le n \le 100\,000, 1 \le d \le 10^8$),其中 $n$ 是青蛙的数量,$d$ 是坑的深度(单位为 $\mu\text{m}$)。接下来 $n$ 行,每行包含三个整数 $l, w, h$ ($1 \le l, w, h \le 10^8$),分别代表一只青蛙的跳跃能力 $l$ ($\mu\text{m}$)、体重 $w$ ($\mu\text{g}$) 和身高 $h$ ($\mu\text{m}$)。所有青蛙的体重之和最多为 $10^8\,\mu\text{g}$。
输出格式
输出能够逃离坑的青蛙的最大数量。
样例
输入格式 1
3 19 15 5 3 12 4 4 20 10 5
输出格式 1
3
输入格式 2
3 19 14 5 3 12 4 4 20 10 5
输出格式 2
2