포켓몬 사냥

일직선상의 집마다 사탕 값과 마감 시간이 있는 포켓몬이 있고, K번 집에서 출발해 1초에 한 집씩 이동하며 얻을 수 있는 사탕의 최댓값을 구한다.

보통7동적 계획법구간아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

브라니미르코는 포켓몬 GO를 즐겨 한다. 얼마 전 그는 포켓몬 잡기 대회를 열기로 했다. 대회는 자그레브의 일리차 거리에서 열리고, 친구 슬라브코가 후원을 맡는다. 상품은 물론 사탕이다.

일리차는 자그레브에서 가장 긴 거리다. 거리 한쪽에 집 NN채가 늘어서 있고, 각 집에는 11번부터 NN번까지 번호가 붙어 있다. 대회는 KK번 집에서 시작한다.

대회 전에 브라니미르코는 지도에서 포켓몬 MM마리를 찾아냈다. ii번째 포켓몬은 AiA_i번 집에 있고, 사탕 BiB_i개의 가치가 있으며, 시작한 지 TiT_i초가 지나기 전까지만 잡을 수 있다. TiT_i초가 되는 순간 그 포켓몬은 지도에서 사라지고 더는 잡을 수 없다. 두 포켓몬이 같은 집에 있는 경우는 없다.

브라니미르코는 1초에 옆 집으로 한 칸 이동한다. 대회가 시작하는 순간, 즉 0초에 그는 KK번 집에 서 있다. 어떤 집에 도착한 시각이 그 집에 있는 포켓몬의 TiT_i보다 작으면 그 포켓몬을 잡고, 잡힌 포켓몬은 지도에서 사라진다. 잡는 데 걸리는 시간은 없다. 이미 지나온 집을 다시 지나가도 된다.

브라니미르코가 얻을 수 있는 사탕의 최대 개수를 구하라.

입력

첫째 줄에 집의 수 NN, 출발하는 집의 번호 KK, 포켓몬의 수 MM이 주어진다. (1KN10001 \le K \le N \le 1000, 1M1001 \le M \le 100)

다음 MM개 줄에 포켓몬 한 마리의 AiA_i, BiB_i, TiT_i가 주어진다. (1AiN1 \le A_i \le N, 1Bi1001 \le B_i \le 100, 1Ti20001 \le T_i \le 2000)

포켓몬은 집 번호 AiA_i가 증가하는 순서로 주어진다.

출력

브라니미르코가 얻을 수 있는 사탕의 최대 개수를 한 줄에 출력한다.

힌트

첫 번째 예제에서 브라니미르코는 3번 집의 포켓몬(사탕 5개)을 잡고, 이어서 7번 집(사탕 10개)과 9번 집(사탕 100개)의 포켓몬을 잡아 사탕 115개를 얻는다. 1번 집의 포켓몬은 잡을 수 없다. 출발한 5번 집에서 1번 집까지 4초가 걸리는데, 그 포켓몬은 4초가 되는 순간 사라지기 때문이다.