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

Экскурсия

Экскурсия

Группа из n человек решила поехать на экскурсию. В процессе экскурсии можно заехать в некоторые из m городов.

Экскурсовод попросила каждого человека высказать свои пожелания по поводу посещения городов. Каждый человек может про какие-то города заявить, что он хочет их непременно посетить, а про какие-то — что точно не хочет.

Группа всегда путешествует вместе. Если группа заезжает в город, то все люди, заявившие, что точно не хотят его посетить, расстраиваются. Если группа не заезжает в город, то расстраиваются все люди, которые заявили, что хотят его непременно посетить.

Экскурсовод понимает, что удовлетворить все пожелания не всегда можно. Она хочет составить план, чтобы каждый человек расстроился не более одного раза.

Помогите экскурсоводу справиться с этой нелегкой задачей и составьте план посещения городов или выясните, что это невозможно.

Входные данные

В первой строке содержатся три целых числа n, m, k - количество человек, количество городов и количество пожеланий (1n, m, k105).

В каждой из последующих k строк содержатся по два целых числа a и b, обозначающих пожелания (1an, 1 ≤ |b| ≤ m). Если b > 0, то человек под номером a хочет посетить город под номером b. Если же b < 0, то человек под номером a не хочет посетить город под номером -b. Каждое пожелание указано во вводе не более одного раза, ни для кого из участников нет одновременно пожелания посетить и не посещать один и тот же город.

Выходные данные

Если решения не существует, то выведите -1.

Иначе, в первой строке выходных данных выведите единственное целое число k - количество городов, которые войдут в план.

Во второй строке выведите k целых чисел - номера городов, которые следует посетить. Номера городов можно выводить в любом порядке.

Если существует несколько возможных ответов, можно вывести любой из них. Обратите внимание, что не требуется искать максимальное или минимальное k, можно вывести любой корректный ответ.

Лимит времени 1 секунда
Лимит использования памяти 256 MiB
Входные данные #1
3 5 6
1 2
1 3
1 -4
2 3
2 4
2 5
Выходные данные #1
3
2 3 5 
Входные данные #2
3 3 6
1 -1
1 2
2 -2
2 3
3 -3
3 1
Выходные данные #2
0
Источник 2018, XXVI Командный чемпионат школьников Санкт-Петербурга по программированию, 18 октября, Задача B