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

Странный город

Странный город

В одной стране есть странный город. В этом городе есть \textbf{n} перекрестков и \textbf{m} улиц. Каждая улица соединяет ровно два различных перекрестка и по каждой улице можно двигаться в обоих направлениях. Однажды с целью борьбы с пробками мэр города решил провести дорожную реформу. Он решил запретить автомобильное движение на некоторых улицах и сделать их пешеходными. При этом исследования департамента транспорта показали, что результаты реформы будут оптимальными, если после ее осуществления из каждого перекрестка будет выходить нечётное число улиц, на которых разрешено автомобильное движение. Подчиненные мэра озадачены. Они никак не могут исполнить приказ мэра. Вам предлагается сделать это за них. Вам задана карта города, требуется решить, какие улицы необходимо сделать пешеходными, а какие --- оставить для автомобилей, чтобы в результате реформы из каждого перекрестка выходило нечётное число улиц, по которым разрешено движение автомобилей. \InputFile В первой строке заданы целые числа \textbf{n} и \textbf{m} (\textbf{1} ≤ \textbf{n} ≤ \textbf{2·10^5}, \textbf{0} ≤ \textbf{m} ≤ \textbf{2·10^5}) --- количество перекрестков и количество дорог в городе соответственно. В следующих \textbf{m} строках заданы дороги, каждая дорога описана в отдельной строке. В \textbf{(i+1)}-й строке описывается дорога с номером \textbf{i}. Каждая дорога задаётся двумя целыми числами \textbf{v} и \textbf{u} --- номерами двух перекрестков, которые эта дорога соединяет (\textbf{1} ≤ \textbf{v}, \textbf{u} ≤ \textbf{n}). Гарантируется, что дорога не соединяет перекресток с самим собой. Гарантируется, что любая пара перекрёстков соединена не более чем одной дорогой. Не гарантируется, что от исходно любого перекрёстка можно добраться до любого другого по улицам. \OutputFile Если удовлетворить условие в приказе мэра не возможно, выведите единственное число \textbf{-1} в первой строке выходного файла. Иначе в первой строке выведите число \textbf{k} --- количество дорог, которые нужно оставить для автомобильного движения. В следующей строке выведите \textbf{k} различных чисел через пробел --- номера этих дорог. Дороги пронумерованы от \textbf{1} до \textbf{m} в том порядке, в котором они заданы во входном файле.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
2 1
1 2
Выходные данные #1
1
1
Источник XIII Всероссийская командная олимпиада школьников по программированию