10936. Експеримент
Сьогодні Ігор отримав довгоочікуваний дозвіл на проведення експерименту щодо вивчення протікання хімічних реакцій у магнітному полі. При цьому використовуються дві установки – генератор магнітного поля та маніпулятор, що з'єднує реагенти.
Експеримент розбитий на кілька етапів, при цьому деякі з них можуть бути виконані тільки після завершення певного набору інших етапів. Щоправда відомо, що хоча один спосіб проведення експерименту існує. На кожному етапі Ігор повинен керувати рівно однією з двох установок - або генератором або маніпулятором.
Ігор дуже дорожить своїм часом, і тому хоче провести експеримент, здійснивши найменшу кількість переміщень між пультами управління установками. Допоможіть йому дізнатися, в якому порядку слід виконувати етапи, щоб цього досягти.
Формат вхідних даних
У першому рядку вводиться ціле число \(n\) – кількість етапів експерименту ( \(1 \le n \le 100\))
Наступні \(n\) рядків містять опис етапів. Пронумеруємо етапи від 1 до \(n\) в деякому довільному порядку. Тоді \(i\)-й з цих рядків описує \(i\)-й етап. Кожен етап описується послідовністю цілих чисел. Перше число дорівнює нулю, якщо на цьому етапі Ігор управляє генератором, і одиниці, якщо він управляє маніпулятором. Потім записано ціле число \(r_i\) - кількість етапів, які мають бути виконані перед виконанням даного. За ним слідують номери цих етапів - \(r_i\) різних цілих чисел в діапазоні від 1 до \(i - 1\).
Формат вихідних даних
У першому рядку виведіть мінімальну кількість переміщень, які доведеться здійснити Ігорю.
У другому рядку виведіть перестановку чисел від 1 до n – послідовність, у якій слід виконувати етапи. Якщо рішень кілька, виведіть будь-яке.
Приклад вхідних даних
3
1 0
0 0
1 2 1 2
Приклад вихідних даних
1
2 1 3
Коментарі