시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
3 초 1280 MB 2 1 1 50.000%

문제

アンナは友人のブルーノとよくカードゲームで遊んでいたが,2 人で行うゲームには飽きてしまったの で 1 人でできるカードゲームを考えた.

このゲームの開始時には,さまざまな色のカードが N 枚一列に並んでおり,それぞれのカードには整数 が 1 つ書かれている.それぞれのカードの色は整数で表される.また,それぞれのカードには価値が定まっ ている.ゲーム開始時に列の先頭から i 番目 (1 ≦ i ≦ N) にあるカードの色は Ci であり,書かれている整 数は Ai である.そのカードの価値は Vi である.

カードの列からカードを 1 枚選んで取り除き,山札に加えていくという操作を繰り返すことでゲームを 行う.はじめ,山札にカードはなく,その状態からアンナは以下の操作を繰り返す.

  • 操作:カードの列の先頭から 1 番目もしくは 3 番目のカードを選ぶ.ただし,操作を行う前に山札 にカードが存在するときには,山札の一番上のカードと,色または書かれている整数の少なくとも一 方が一致しているようなカードしか列から選ぶことができない.選んだカードを列から取り除いて, 山札の一番上に加える.

操作によって選ぶことのできるカードが無くなった時点でゲームは終了する.ゲームが終了した時点で 山札にあるカードの価値の合計がアンナの得点となる.

このゲームにおいてアンナが得ることのできる得点の最大値はいくらになるだろうか.

ゲーム開始時に並んでいるカードの情報が与えられたとき,このゲームにおいてアンナが得ることので きる得点の最大値を求めるプログラムを作成せよ.

입력

標準入力から以下のデータを読み込め.

  • 1 行目には,整数 N が書かれている.これは,ゲーム開始時にカードが N 枚並んでいることを表す.
  • 続く N 行のうちの i 行目 (1 ≦ i ≦ N) には, 3 個の整数 Ci, Ai, Vi が空白を区切りとして書かれてい る.これは,ゲーム開始時に列の先頭から i 番目にあるカードの色が Ci,書かれている整数が Ai,価 値が Vi であることを表す.

출력

標準出力に,このゲームにおいてアンナが得ることのできる得点の最大値を表す整数を 1 行で出力せよ.

제한

  • 1 ≦ N ≦ 500.
  • 1 ≦ Ci ≦ 500 (1 ≦ i ≦ N).
  • 1 ≦ Ai ≦ 500 (1 ≦ i ≦ N).
  • 1 ≦ Vi ≦ 1 000 000 (1 ≦ i ≦ N).

예제 입력 1

5
1 3 2
4 2 9
1 4 6
2 3 3
2 2 1

예제 출력 1

15

色が c,書かれている整数が a,価値が v であるカードを (c, a, v) と表す.

次のようにゲームを行うことで,アンナは最大の得点を得ることができる.

  1. 列の先頭から 1 番目にあるカード (1, 3, 2) を山札にとり 2 点を得る.
  2. 列の先頭から 3 番目にあるカード (2, 3, 3) を山札にとり 3 点を得る.
  3. 列の先頭から 3 番目にあるカード (2, 2, 1) を山札にとり 1 点を得る.
  4. 列の先頭から 1 番目にあるカード (4, 2, 9) を山札にとり 9 点を得る.

예제 입력 2

8
11 5 31
2 8 19
2 9 2
11 8 45
4 8 22
4 2 23
6 9 58
6 2 5

예제 출력 2

160