Kinugoshi's Break Fast

2 secs 1024 MB
kinugoshi8928's icon kinugoshi8928

問題文

きぬごし君は、朝ごはんのビュッフェに来ています。
ビュッフェには NN 種類の料理があり、それぞれジャンルが xix_i 、おいしさが yiy_i 、腹持ちが ziz_i です。
きぬごし君は MM おなかが空いていて、食べた料理の腹持ちの合計が MM を超えない限り食べられますが、 食品ロスを避けるため取った料理をすべて食べてもおなかがいっぱいにならないようにします。 つまり、食べた料理の腹持ちの合計が MM 以下まで食べられます。
きぬごし君には料理のジャンルによって好き嫌いがあり、和食は AA ,洋食は BB ,中華は CC 好きです。
料理のおいしさ ×\times ジャンルの好きさ がきぬごし君の満足度になります。
きぬごし君は同じ料理をふたつ食べると飽きてしまうので、同じ料理は食べません。
食べた料理の満足度の合計としてありえる最大値を出力してください。

制約

0N,M50000 \leq N , M \leq 5000
1A,B,C10001 \leq A , B , C \leq 1000
1xi31 \leq x_i \leq 3
1yi1091 \leq y_i \leq 10^9
1ziM1 \leq z_i \leq M
入力は全て整数

入力

  • NMN M
  • A B CA\space B\space C
  • x1 y1 z1x_1 \space y_1 \space z_1
  • x2 y2 z2x_2 \space y_2 \space z_2


  • xN yN zNx_N \space y_N \space z_N
    xx において、和食は 11 、洋食は 22 、中華は 33 に当てはまります。

出力

食べた料理の満足度の合計としてありえる最大値を1行で出力し、改行してください。

サンプル

入力例1
6 9
1 2 3
3 1 2
2 1 1
3 2 3
1 1 2
3 1 1
1 85 5
出力例1
94

3,5,6番目の食べ物を食べるのが最善です。

入力例2
0 0
1 1 1
出力例2
0

ビュッフェには1つも料理がなかったようです。

提出


Go (1.21)