Регулярне паросполучення
Максим з дитинства захоплюється теорією графів. Зараз його цікавлять двочасткові графи. Двочастковий граф — це граф, вершини якого можна розділити на дві частини так, що жодне ребро не з'єднує вершини з однієї частини. В одній книжці Максим дізнався, що в регулярному двочастковому графі існує досконале паросполучення. Там же було зазначено, що регулярний граф — це граф, у якого всі вершини мають однаковий степінь, а досконале паросполучення — це розбиття всіх вершин графа на пари, з'єднані ребром. Проте, у книзі не було пояснено, як знайти це паросполучення. Максим провів ніч у пошуках алгоритму, але знайшов лише невелику примітку, що ця задача легко розв'язується для двочасткових регулярних графів зі степенем 2k. Допоможіть йому знайти досконале паросполучення.
Вхідні дані
У першому рядку задано число n
(1 ≤ n ≤ 50000
) — кількість вершин у кожній частині графа. У другому рядку записана степінь кожної вершини d
(d
= 2k, де 0 ≤ k ≤ 5
). У наступних n
рядках для кожної вершини першої частини записано по d
чисел — номери суміжних вершин другої частини. Вершини першої та другої частини нумеруються незалежно від 1 до n
. У графі можуть бути кратні ребра. Гарантується, що степені всіх вершин, як першої, так і другої частини, рівні d
. У графі допускаються кратні ребра, тобто пару вершин можуть з'єднувати більше одного ребра.
Вихідні дані
Виведіть рівно n
чисел — для кожної вершини першої частини номер вершини другої частини, з якою вона буде об'єднана в досконалому паросполученні. У виводі має бути деяка перестановка чисел від 1 до n
. Якщо розв'язків декілька, виведіть будь-який.