E - Circular Sushi Editorial /

Time Limit: 4 sec / Memory Limit: 1024 MB

配点 : 900

問題文

長さ 2^L の円周があります. 円周上のある点から距離 x 時計回りに進んだ点を,座標 x の点と呼ぶことにします.

円周上で N 個の寿司が動いています. i 番目の寿司は時刻 0 に座標 A_i にあり,時計回りに速度 V_i で動いています. また,i 番目の寿司の価値は W_i です.

あなたはこれから非負実数 t を選びます. そして,時刻 t に座標 0 に存在するすべての寿司を獲得します.

あなたが獲得する寿司の価値の総和としてありうる最大値を求めてください.

制約

  • 1 \leq N \leq 2 \times 10^5
  • 1 \leq L \leq 30
  • 0 \leq A_i < 2^L
  • 1 \leq V_i < 2^L
  • 1 \leq W_i \leq 10^9
  • 入力される値はすべて整数である

入力

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

N L
A_1 V_1 W_1
A_2 V_2 W_2
\vdots
A_N V_N W_N

出力

答えを出力せよ.


入力例 1

3 2
3 1 1
2 2 2
1 1 3

出力例 1

5

例えば t=3 を選ぶと,2 番目と 3 番目の寿司を獲得でき,その価値の総和は 5 です.


入力例 2

20 4
12 10 946667801
0 2 520643153
5 2 543856068
8 8 419370025
11 5 910500853
2 3 715892722
15 8 459924868
4 8 950300099
7 2 504976377
11 1 152036485
15 4 361324668
7 14 628902494
12 12 69837030
7 7 596982638
1 10 222135106
3 14 210989591
13 6 935147464
13 2 362117198
11 4 909241708
1 8 487330736

出力例 2

1705145758