도넛 장식

아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

도넛 장인 D는 새벽부터 주방에 나와 도넛 NN개를 튀긴다. 갓 튀긴 도넛을 그대로 진열대에 올릴 수는 없다. 크림을 채우고, 초콜릿을 입히고, 토핑을 올리는 장식 작업을 거쳐야 상품이 된다.

장식 작업은 11번부터 KK번까지 있다. 도넛 하나가 상품이 되려면 1,2,,K1, 2, \dots, K번 작업을 이 순서대로 정확히 한 번씩 받아야 한다.

D는 도넛 NN개를 한 줄로 늘어놓고 작업을 시작했다. 그런데 전날 밤을 새운 탓에, 작업 한 번마다 연속한 구간에 놓인 도넛에만 손을 댔다. 같은 작업을 여러 번 하기도 했고, 어떤 작업은 아예 하지 않았으며, 순서도 뒤섞였다. 올바른 순서로 장식되지 않은 도넛은 상품으로 낼 수 없어서 버려야 한다.

다행히 D가 한 작업은 순서대로 기록에 남아 있다. 기록에는 작업마다 장식한 도넛의 구간 [l,r][l, r]과 작업 번호 xx가 적혀 있다. 기록을 보고 상품으로 진열할 수 있는 도넛이 몇 개인지 구하는 프로그램을 작성하시오.

입력

입력은 테스트 케이스 하나로 이루어지며, 형식은 다음과 같다.

N K
T
l_1 r_1 x_1
...
l_T r_T x_T

첫째 줄에 D가 튀긴 도넛의 개수 NN과 장식 작업의 종류 수 KK가 주어진다. (1N2000001 \le N \le 200000, 1K2000001 \le K \le 200000)

둘째 줄에 D가 한 작업의 개수 TT가 주어진다. (1T2000001 \le T \le 200000)

이어지는 TT개의 줄에 D가 한 작업이 순서대로 하나씩 주어진다. ii번째 줄에는 세 정수 lil_i, rir_i, xix_i가 주어진다. 이는 ii번째 작업이 왼쪽에서 lil_i번째부터 rir_i번째까지의 도넛에 xix_i번 작업을 한 번 적용했다는 뜻이다. (1liriN1 \le l_i \le r_i \le N, 1xiK1 \le x_i \le K)

출력

상품으로 진열할 수 있는 도넛의 개수를 출력한다.