Екскурсія
Група з n осіб вирішила поїхати на екскурсію, під час якої можна відвідати деякі з m міст.
Екскурсовод попросила кожного учасника висловити свої побажання щодо відвідування міст. Кожна людина може вказати міста, які вона хоче неодмінно відвідати, а також ті, які вона точно не хоче відвідувати.
Група завжди подорожує разом. Якщо група заїжджає в місто, то всі, хто заявив, що не хоче його відвідати, засмучуються. Якщо ж група не заїжджає в місто, то засмучуються всі, хто хотів його неодмінно відвідати.
Екскурсовод розуміє, що задовольнити всі побажання не завжди можливо. Вона прагне скласти план, щоб кожна людина засмутилася не більше одного разу.
Допоможіть екскурсоводу вирішити це завдання, склавши план відвідування міст або з'ясуйте, що це неможливо.
Вхідні дані
У першому рядку містяться три цілі числа n, m, k - кількість людей, кількість міст і кількість побажань (1 ≤ n, m, k ≤ 10^5
).
У кожному з наступних k рядків містяться по два цілі числа a та b, що позначають побажання (1 ≤ a ≤ n, 1 ≤ |b| ≤ m). Якщо b > 0, то людина під номером a хоче відвідати місто під номером b. Якщо b < 0, то людина під номером a не хоче відвідати місто під номером -b. Кожне побажання вказано у вводі не більше одного разу, і для жодного учасника немає одночасно побажання відвідати і не відвідувати одне й те ж місто.
Вихідні дані
Якщо рішення не існує, виведіть -1.
Інакше, у першому рядку вихідних даних виведіть єдине ціле число k - кількість міст, які увійдуть у план.
У другому рядку виведіть k цілих чисел - номери міст, які слід відвідати. Номери міст можна виводити в будь-якому порядку.
Якщо існує декілька можливих відповідей, можна вивести будь-яку з них. Зверніть увагу, що не потрібно шукати максимальне або мінімальне k, можна вивести будь-яку коректну відповідь.