Вуличнi перегони
Организационный комитет велосипедных гонок Лазурный Берег - 99 обратился к жандармерии Сан-Тропе с просьбой разрешить провести велосипедные гонки улицами этого курортного городка таким образом, чтобы каждый участник имел бы определенную свободу в выборе пути к финишу. Жандармерия в ответ прислала в организационный комитет план проведения таких гонок. На плане пункты-перекрестки были обозначены кругами и занумерованы натуральными числами в пределах от 1 до некоторого натурального числа n, а некоторые участки гонок - улицы с односторонним движением - обозначены стрелками. На этом плане:
старт - пункт, из которого можно достигнуть любой пункт гонок, и который невозможно достичь из любого другого пункта;
финиш - пункт, который можно достичь из любого другого пункта, и с которого невозможно достичь никакой другой пункт.
Некоторые пункты невозможно избежать на пути от старта к финишу, не считая остальных.
Деякi з пунктiв, якi неможливо уникнути на шляху вiд старту до фiнiшу, розбивають план перегонiв на два плани. Інакше кажучи:
кожен новоутворений план має пункти, вiдмiннi вiд старту й фiнiшу цього плану;
новоутворенi плани не мають спiльних стрiлок, але мають єдиний спiльний пункт, що є фiнiшом для одного плану i стартом для iншого. Цей спільний пункт неможливо досягнути рухом вздовж стрілок, почавши рух з нього самого.
Створiть програму, яка допоможе членам органiзацiйного комiтету провести аналiз поданого плану.
Входные данные
Кiлькiсть рядкiв дорiвнює кiлькостi всiх пунктiв перегонiв n (n ≤ 222). Для j в межах вiд 1 до n включно j-ий рядок мiстить номери кiнцевих пунктiв тих стрiлок, якi виходять з j-го пункту.
Выходные данные
Перший рядок має мiстити у вказаному порядку номери пунктiв, що є стартом i фiнiшом.
Другий рядок має мiстити кiлькiсть пунктiв, якi неможливо уникнути на шляху вiд старту до фiнiшу та номери цих пунктiв у порядку зростання.
Третiй рядок має мiстити кiлькiсть пунктiв, якими можна розбити поданий план перегонiв на окремi плани, та номери цих пунктiв у порядку зростання.