Наступила зима, но в Уральском государственном университете еще не включили отопление. Есть одна маленькая проблема: университет отапливается только в том случае, если все вентили открыты. В университете есть несколько техников, и каждый из них отвечает за один или несколько вентилей. За один и тот же вентиль может отвечать несколько техников. Когда техник получает команду включить отопление, он обходит все свои вентили и поворачивает их. Это означает, что если вентиль был открыт, то техник его закроет, а если вентиль был закрыт, то техник его откроет. Известно, что каждый техник неспроста получает свою зарплату, поэтому любого техника невозможно заменить никакой комбинацией других техников.
Ваша задача – определить, кто из техников должен получить инструкцию «включить отопление», чтобы весь Уральский государственный университет был обогрет. Обратите внимание, что в университете ровно N техников и ровно N вентилей.
Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 250). Следующие N строк содержат списки вентилей, находящихся в ведении каждого из техников. Это означает, что в строке номер i + 1 указаны номера вентилей, за которые отвечает i-й техник. После каждого списка вентилей следует –1.
Результат
Выведите список номеров техников в порядке возрастания. Если возможно несколько списков, вы должны вывести самый короткий из них. Если в университете невозможно включить отопление, выведите «No solution».
Пример
исходные данные | результат |
---|
4
1 2 -1
2 3 4 -1
2 -1
4 -1
| 1 2 3
|
Автор задачи: Евгений Штыков
Источник задачи: Пятый командный чемпионат УрГУ по программированию (Октябрь 2000 г.)