#arc0263. [arc026_3]蛍光灯

[arc026_3]蛍光灯

問題文

ある小学校には、すごく長い廊下があります。東西に伸びていて、西端から東端まで LL メートルあります。 学校の方針で窓は一切ついていないので、蛍光灯で廊下を照らさなければいけません。

この廊下には NN 個の蛍光灯がついています。 ii 番目の蛍光灯は西端から lil_i メートルの地点と rir_i メートルの地点の間を照らすことができます。 また、蛍光灯によって点けるのに必要な費用が違います。 ii 番目の蛍光灯を点けるには cic_i 円の費用がかかります。

全ての蛍光灯を点ければ、廊下全体を照らすことは可能ですが、お金がないので可能な限り少ない費用で廊下全体を照らしたいです。 廊下のどの地点、つまり西端から 00 メートルの地点と LL メートルの地点の間のどの地点も少なくとも1つ以上の蛍光灯に照らされているように蛍光灯を点けるとき、必要な費用の最小値を求めてください。


入力

入力は以下の形式で標準入力から与えられる。

NN LL l1l_1 r1r_1 c1c_1 l2l_2 r2r_2 c2c_2 : lNl_N rNr_N cNc_N

制約に不十分な記述があったため、修正しました。「蛍光灯の照らす範囲」→「蛍光灯の照らす範囲を表す整数」(21:20)

  • 11 行目には蛍光灯の個数を表す整数 N(1N105)N (1 ≦ N ≦ 10^5) と廊下の長さを表すを表す整数L(1L105)L(1 ≦ L ≦ 10^5)が空白区切りで与えられる。
  • 22 行目からの NN 行のうち ii 行目にはii番目の蛍光灯の照らす範囲を表す整数 li,ri(0liriL)l_i, r_i (0 ≦ l_i < r_i ≦ L) と、点けるのにかかる費用 ci(1ci105)c_i (1 ≦ c_i ≦ 10^5) が空白区切りで与えられる。
  • 全ての蛍光灯を点ければ、廊下全体を照らすことができることが保証されている。

部分点

この問題には部分点が設定されている。

  • 1N3,000,1L3,0001 ≦ N ≦ 3,000 ,1 ≦ L ≦ 3,000を満たすデータセットに正解した場合は 6060 点が与えられる。
  • 1N105,1L1051 ≦ N ≦ 10^5 ,1 ≦ L ≦ 10^5を満たすデータセットに正解した場合はさらに 4040 点が与えられる。合計で100100点となる。

出力

廊下全体を照らすのに必要な費用の最小値を1行で出力せよ。


入力例1


5 5
0 1 1
1 2 1
2 4 3
3 5 1
2 3 2

出力例1


5

1,2,4,51, 2, 4, 5番目の蛍光灯を点けた時、費用の総和が最小になります。


入力例2


8 10
0 2 1
2 3 1
0 4 1
0 2 1
3 7 1
0 10 1080
8 10 1
9 10 1

出力例2


1080

66番目の蛍光灯を点けない限り、西端から77メートルの地点と88メートルの地点の間は照らされません。 66番目の蛍光灯だけを使うのが、最適な点け方です。


入力例3


10 10
0 1 1
1 2 1
2 3 1
3 4 1
4 5 1
0 5 4
5 7 2
6 8 3
8 10 1
2 9 3

出力例3


6

入力例4


5 5
0 1 100000
1 2 100000
2 3 100000
3 4 100000
4 5 100000

出力例4


500000