E. Два пути
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
64 megabytes
ввод
input.txt
вывод
output.txt

Как-то раз археологи нашли m таинственных бумажек, на каждой из которых была написана пара целых чисел. Известно, что в древние времена очень любили записывать номера дорог, по которым ходили, в виде «a b» или «b a», где a, b — номера двух различных городов, между которыми шла дорога. Также известно, что таинственные бумаги — это листы из двух путевых дневников (для каждого нового путешествия раньше всегда заводили новый дневник).

В течение одного путешествия странник мог проходить по одной и той же дороге несколько раз в одном или разных направлениях, но в этом случае он ровно столько же раз делал запись об этой дороге в своем дневнике. Кроме того, археологи предполагают, что направление движения путника по дороге никак не влияло на запись в дневнике: запись «a b» могла относиться как к дороге из a в b, так и к дороге из b в a.

Археологи очень хотят расположить страницы в правильной последовательности и восстановить два маршрута путешествия, но, увы, они не сильны в программировании, так что настал ваш час. Помогите им!

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

В первой строке входных данных находится целое число m (1 ≤ m ≤ 10000). В каждой из последующих m строк описана одна бумага. Каждое описание состоит из пары целых чисел a, b (1 ≤ a, b ≤ 10000, a ≠ b).

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

В первой строке выведите число L1 — длину первого пути, т.е. количество бумаг в его описании. В следующей строке через пробел выведите L1 чисел — номера бумаг, описывающих первый из путей. В третьей и четвертой строках аналогичным образом выведите длину второго пути L2 и сам путь. Оба пути должны содержать по крайней мере по одной дороге, т.е. должно выполняться L1 > 0 и L2 > 0. Бумаги нумеруются числами от 1 до m в соответствии с порядком их задания во входном файле. Номера следует выводить в том порядке, в каком путешественник проходил соответствующие дороги. Если решений несколько, выведите любое из них.

Если построить два таких пути невозможно, выведите «-1».

Не забудьте, что использовать нужно все записи ровно по одному разу, т.е. L1 + L2 = m.

Примеры
Входные данные
2
4 5
4 3
Выходные данные
1
2
1
1
Входные данные
1
1 2
Выходные данные
-1