eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Охорона

Охорона

Королевство APIO атаковано ниндзя. ниндзя очень опасны, потому что во время атаки они прячутся в тени и другие люди не видят их. Всё королевство, кроме замка APIO, где живёт король, было захвачено. Перед замком расположен ряд из \textbf{n }кустов. Кустарники пронумерованы от \textbf{1 }до \textbf{n}, и в \textbf{k }из них спрятались \textbf{k }ниндзя. В замке \textbf{m }охранников. \textbf{i}-й охранник наблюдает за последовательностью кустов от \textbf{a_i}-го до \textbf{b_i}-го. Каждый охранник сообщает королю, прячутся ли ниндзя в последовательности кустов, за которой он наблюдает. Вы, как слуга короля, должны сказать ему, основываясь на этих отчётах, в каких кустах "определённо" прячется ниндзя. Нидзя "определённо" прячется в кусте, если он в нём прячется в любом возможном расположении ниндзя, которые не противоречат отчётам охранников. \textbf{Задание} Напишите программу, которая, имея информацию об охранниках и их отчёты определит все кусты, где "определённо" прячется ниндзя. \textbf{Ограничения} \textbf{1} ≤ \textbf{n} ≤ \textbf{100000} - Количество кустов \textbf{1} ≤ \textbf{k} ≤ \textbf{n} - Количество ниндзя \textbf{1 }≤ \textbf{m }≤ \textbf{100000} - Количество охранников \InputFile Первая строка содержит три целых числа \textbf{n}, \textbf{k}, \textbf{m}, где \textbf{n }- количество кустов, \textbf{k }- количество ниндзя и \textbf{m }- количество охранников. Следующие \textbf{m }строк содержат информацию об охранниках и их отчёты. \textbf{i}-я строка содержит три разделённых пробелами целых числа \textbf{a_i}, \textbf{b_i}, \textbf{c_i} (\textbf{a_i} ≤ \textbf{b_i}), обозначающие, что \textbf{i}-й охранник наблюдает за кустами от \textbf{a_i} до \textbf{b_i}. \textbf{c_i} может быть \textbf{0} или \textbf{1}. Если \textbf{c_i} = \textbf{0}, то в кустах от \textbf{a_i} до \textbf{b_i} нет ниндзя. Если \textbf{c_i} = \textbf{1}, то в кустах от \textbf{a_i} до\textbf{ b_i} есть хотя бы один ниндзя. Для каждого теста гарантируется, что существует как минимум одна расстановка ниндзя, которая не противоречит отчётам охранников. \OutputFile Если есть кусты, в которых "определённо" прячется ниндзя, выведите номера этих кустов на стандартный поток вывода. Номера кустов должны быть записаны в возрастающем порядке и каждая строка должна содержать ровно одно число. То есть, если в \textbf{x} кустах "определённо" прячется ниндзя, вывод должен состоять из \textbf{x} строк. Если нет таких кустов, выведите '\textbf{-1}'. \textbf{Примечания к примерам} В \textbf{1}-м примере существует две возможные расстановки ниндзя, удовлетворяющие условиям: \textbf{3} ниндзя прячутся в кустах \textbf{1}, \textbf{3}, \textbf{5}, или \textbf{3} ниндзя прячутся в кустах \textbf{2}, \textbf{3}, \textbf{5}. Так как ниндзя прячутся в кустах \textbf{3} и \textbf{5} во всех возможных расстановках, нужно вывести \textbf{3} и \textbf{5}. Рассматривая же куст \textbf{1}, можно заметить, что существует расстановка, в которой ниндзя прячется в нём, но также существует расстановка, в которой ниндзя не прячется в нём, поэтому не нужно выводить \textbf{1}. По той же причине не следует выводить \textbf{2}. Во \textbf{2}-м примере нет кустов, в которых "определённо" прячется ниндзя, поэтому нужно вывести '\textbf{-1}'.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
5 3 4
1 2 1
3 4 1
4 4 0
4 5 1
Вихідні дані #1
3
5
Джерело 2012 Asia-Pacific Informatics Olympiad (APIO), Problem B