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

Комитет общественного порядка

Комитет общественного порядка

Комитет общественного порядка должен быть законодательно представлен в парламенте Демократической Республики Байтляндии согласно Очень Важному Закону. К сожалению, одним из препятствий является то, что некоторые депутаты не могут никак договориться с другими. Комитет должен удовлетворять следующим условиям: \begin{itemize} \item Каждая партия имеет в точности одного представителя в комитете, \item Если два депутата не нравятся друг другу, они не могут войти в комитет. \end{itemize} Каждая партия имеет в точности двух депутатов в Парламенте. Все они пронумерованы от \textbf{1} до \textbf{2n}. Депутаты с номерами \textbf{2i-1} и \textbf{2i} принадлежат \textbf{i}-ой партии. Напишите программу, которая: \begin{itemize} \item прочитает количество партий и число пар депутатов, находящихся не в дружественном отношении, \item определит, можно ли организовать комитет. В случае положительного ответа следует указать список его членов, \item выведет результат. \end{itemize} \InputFile Первая строка содержит два неотрицательных целых числа \textbf{n} и \textbf{m}: соответствено количество партий \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{8000}) и число пар депутатов \textbf{m} (\textbf{0} ≤ \textbf{m} ≤ \textbf{20000}), которые не нравятся друг другу. Каждая из следующих \textbf{m} строк содержит два целых числа \textbf{a} и \textbf{b}, \textbf{1} ≤ \textbf{a} < \textbf{b} ≤ \textbf{2n}, разделенные одним пробелом. Такая строка означает, что депутаты \textbf{a} и \textbf{b} не нравятся друг другу. Входные данные содержат несколько тестов. Входные данные следует обрабатывать до конца файла. \OutputFile Вывести одно слово \textbf{NIE} (означает \textbf{НЕТ} на польском), если организовать комитет невозможно. В противном случае следует вывести \textbf{n} целых чисел из интервала от \textbf{1} до \textbf{2n} в возрастающем порядке, указывающих номера депутатов, из которых и будет состоять комитет. Каждое из этих чисел следует вывести в отдельной строке. Если комитет можно организовать несколькими вариантами, то следует вывести наименьшую последовательность чисел.
Лимит времени 1 секунда
Лимит использования памяти 32 MiB
Входные данные #1
3 2
1 3
2 4
Выходные данные #1
1
4
5
Источник POI 2001