한 왕국이 닌자들의 공격을 받고 있다. 닌자는 그림자에 숨어 보이지 않으므로 매우 위협적이며, 왕이 머무는 성 하나만 남고 왕국 전체가 함락되었다.
성 앞에는 $N$개의 덤불이 한 줄로 놓여 있고 $1$번부터 $N$번까지 번호가 매겨져 있다. 정확히 $K$명의 닌자가 서로 다른 $K$개의 덤불에 한 명씩 숨어 있다.
성에는 $M$명의 경비병이 있다. 경비병 $i$는 $A_i$번 덤불부터 $B_i$번 덤불까지 연속한 구간을 감시하며, 그 구간에 대해 다음과 같이 보고한다.
모든 경비병의 보고를 동시에 만족하는 닌자 배치를 가능한 배치라고 하자. 어떤 덤불이 가능한 모든 배치에서 예외 없이 닌자를 품고 있다면, 그 덤불에는 닌자가 확실히 숨어 있다고 말한다.
경비병들의 감시 구간과 보고가 주어질 때, 닌자가 확실히 숨어 있는 모든 덤불을 찾아 출력하는 프로그램을 작성하라.
첫째 줄에 세 정수 $N$, $K$, $M$이 공백을 사이에 두고 주어진다. 각각 덤불의 수, 숨어 있는 닌자의 수, 경비병의 수이다.
이어지는 $M$개의 줄 중 $i$번째 줄에는 세 정수 $A_i$, $B_i$, $C_i$가 공백을 사이에 두고 주어진다($A_i \le B_i$). 이는 경비병 $i$가 $A_i$번부터 $B_i$번까지의 덤불을 감시하며, $C_i$가 그 구간의 보고 값임을 뜻한다. $C_i$는 $0$ 또는 $1$이고, $0$이면 구간에 닌자가 없음을, $1$이면 구간에 닌자가 적어도 한 명 있음을 나타낸다.
$1 \le N \le 100,000$
$1 \le K \le N$
$1 \le M \le 100,000$
닌자가 확실히 숨어 있는 덤불이 존재하면, 그 덤불들의 번호를 오름차순으로 한 줄에 하나씩 출력한다. 닌자가 확실히 숨어 있는 덤불이 하나도 없으면 $-1$을 출력한다.
첫 번째 예제를 살펴보자. 덤불은 $5$개, 닌자는 $3$명이고 경비병의 보고는 구간 $[1,2]$에 닌자가 있음, 구간 $[3,4]$에 닌자가 있음, 구간 $[4,4]$에 닌자가 없음, 구간 $[4,5]$에 닌자가 있음이다. 이 보고를 모두 만족하는 배치는 닌자가 덤불 ${1,3,5}$에 있는 경우와 ${2,3,5}$에 있는 경우 두 가지뿐이다. 두 배치 모두에서 덤불 $3$과 $5$에는 항상 닌자가 있으므로 이 둘을 출력한다. 반면 덤불 $1$은 닌자가 있는 배치도 있고 없는 배치도 있으므로 출력하지 않으며, 덤불 $2$도 같은 이유로 출력하지 않는다.