#abc0173. [abc017_3]ハイスコア

[abc017_3]ハイスコア

問題文

高橋君はあるゲームが大好きである。

このゲームには NN 個の遺跡があり、好きな順番に探索することができる。遺跡には 11 から NN までの番号が付けられている。

ゲーム中に宝石を獲得することがある。宝石は MM 種類あり、11 から MM まで番号が付けられている。

遺跡を探索することで報酬として得点といくつかの宝石を入手することができる。遺跡 i(1iN)i (1 ≦ i ≦ N) を探索することで、得点 sis_i 点を獲得し、番号が lil_i 以上 rir_i 以下のすべての宝石を 11 つずつ獲得する。同じ遺跡を複数回探索することはできない。

獲得した宝石は捨てることができず、またすべての種類の宝石を 11 つ以上獲得してしまうと、魔王が復活するイベントが進行する。魔王が復活する際に探索していた遺跡で得られるはずの得点は消滅してしまう。

高橋君はスコアをできるだけ高くすることを目標としており、うまく探索する遺跡を選ぶことで、魔王が復活しない状態で得られる得点の合計値を最大化したい。

考えられる最大値はいくらか。


入力

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

NN MM l1l_1 r1r_1 s1s_1 l2l_2 r2r_2 s2s_2 : lNl_N rNr_N sNs_N

  • 11 行目には、22 つの整数 N(1N100,000)N (1 ≦ N ≦ 100,000)M(1M100,000)M (1 ≦ M ≦ 100,000) が空白区切りで書かれている。これは、遺跡が NN 個、宝石が MM 種類あることを表す。
  • 22 行目から NN 行には、遺跡に関する情報を表す 33 つの整数 lil_i, ri(1liriM)r_i (1 ≦ l_i ≦ r_i ≦ M), si(1si5,000)s_i (1 ≦ s_i ≦ 5,000) が与えられる。これは、遺跡 i(1iN)i (1 ≦ i ≦ N) を探索することで、得点 sis_i 点を獲得し、番号が lil_i 以上 rir_i 以下のすべての宝石を 11 つずつ獲得することを表す。

配点と部分点

この問題は 101101 点満点で、部分点が設定されている。

  • N8N ≦ 8 かつ M8M ≦ 8 を満たすデータセット 11 に正解した場合は、3030 点が与えられる。
  • N5,000N ≦ 5,000 かつ M5,000M ≦ 5,000 を満たすデータセット 22 に正解した場合は、上記とは別に 7070 点が与えられる。
  • 追加制約のないデータセット 33 に正解した場合は、上記とは別に 11 点が与えられる。

出力

魔王が復活しないような探索方法として考えられるものの中で得られる得点の最大値を 11 行に出力せよ。出力の末尾にも改行を入れること。


入力例1


4 6
1 3 30
2 3 40
3 6 25
6 6 10

出力例1


80

例えば、以下の順番に 33 つの遺跡を探索します。

  • 遺跡 11 を探索する。得点は 3030 点で、宝石 11 と宝石 22 と宝石 33 を獲得する。
  • 遺跡 22 を探索する。得点は 4040 点で、宝石 22 と宝石 33 を獲得する。
  • 遺跡 44 を探索する。得点は 1010 点で、宝石 66 を獲得する。

最終的に獲得している宝石の種類は宝石 11 と宝石 22 と宝石 33 と宝石 6644 種類なので、魔王は復活しません。合計得点は 8080 点となり、これが最大値です。


入力例2


2 7
1 3 90
5 7 90

出力例2


180

すべての遺跡を探索しても魔王は復活しません。


入力例3


1 4
1 4 70

出力例3


0

魔王が復活しないように遺跡を探索することができません。