도넛 장인 D는 새벽부터 주방에 나와 도넛 N개를 튀긴다. 갓 튀긴 도넛을 그대로 진열대에 올릴 수는 없다. 크림을 채우고, 초콜릿을 입히고, 토핑을 올리는 장식 작업을 거쳐야 상품이 된다.
장식 작업은 1번부터 K번까지 있다. 도넛 하나가 상품이 되려면 1,2,…,K번 작업을 이 순서대로 정확히 한 번씩 받아야 한다.
D는 도넛 N개를 한 줄로 늘어놓고 작업을 시작했다. 그런데 전날 밤을 새운 탓에, 작업 한 번마다 연속한 구간에 놓인 도넛에만 손을 댔다. 같은 작업을 여러 번 하기도 했고, 어떤 작업은 아예 하지 않았으며, 순서도 뒤섞였다. 올바른 순서로 장식되지 않은 도넛은 상품으로 낼 수 없어서 버려야 한다.
다행히 D가 한 작업은 순서대로 기록에 남아 있다. 기록에는 작업마다 장식한 도넛의 구간 [l,r]과 작업 번호 x가 적혀 있다. 기록을 보고 상품으로 진열할 수 있는 도넛이 몇 개인지 구하는 프로그램을 작성하시오.
입력은 테스트 케이스 하나로 이루어지며, 형식은 다음과 같다.
N K
T
l_1 r_1 x_1
...
l_T r_T x_T
첫째 줄에 D가 튀긴 도넛의 개수 N과 장식 작업의 종류 수 K가 주어진다. (1≤N≤200000, 1≤K≤200000)
둘째 줄에 D가 한 작업의 개수 T가 주어진다. (1≤T≤200000)
이어지는 T개의 줄에 D가 한 작업이 순서대로 하나씩 주어진다. i번째 줄에는 세 정수 li, ri, xi가 주어진다. 이는 i번째 작업이 왼쪽에서 li번째부터 ri번째까지의 도넛에 xi번 작업을 한 번 적용했다는 뜻이다. (1≤li≤ri≤N, 1≤xi≤K)
상품으로 진열할 수 있는 도넛의 개수를 출력한다.