Məsələlər
Вуличнi перегони
Вуличнi перегони
Орґанiзацiйний комiтет велосипедних перегонiв Лазуровий Берег-99 звернувся до жандармерiї Сан-Тропе з проханням дозволити провести велосипеднi перегони вулицями цього курортного мiстечка таким чином, щоб кожен учасник мав би певну свободу у виборi шляху до фiнiшу. Жандармерiя у вiдповiдь надiслала в органiзацiйний комiтет план проведення таких перегонiв. На плані пункти-перехрестя було позначено кругами i занумеровано натуральними числами в межах вiд 1 до певного натурального числа \textbf{n}, а окремi дiлянки перегонiв - вулицi з одностороннiм рухом --- позначено стрiлками. На цьому планi:
\begin{itemize}
\item старт - пункт, з якого можна досягнути будь-який пункт перегонiв, i який неможливо досягнути з будь-якого iншого пункту;
\item фiнiш - пункт, який можна досягнути з будь-якого iншого пункту, i з якого неможливо досягнути жоден iнший пункт.
\end{itemize}
Деякi пункти неможливо уникнути на шляху вiд старту до фiнiшу, не рахуючи останнiх.
Деякi з пунктiв, якi неможливо уникнути на шляху вiд старту до фiнiшу, розбивають план перегонiв на два плани. Інакше кажучи:
\begin{itemize}
\item кожен новоутворений план має пункти, вiдмiннi вiд старту й фiнiшу цього плану;
\item новоутворенi плани не мають спiльних стрiлок, але мають єдиний спiльний пункт, що є фiнiшом для одного плану i стартом для iншого. Цей спільний пункт неможливо досягнути рухом вздовж стрілок, почавши рух з нього самого.
\end{itemize}
Створiть програму, яка допоможе членам органiзацiйного комiтету провести аналiз поданого плану.
\InputFile
Кiлькiсть рядкiв дорiвнює кiлькостi всiх пунктiв перегонiв \textbf{n} (\textbf{n} ≤ \textbf{222}). Для \textbf{j} в межах вiд \textbf{1} до \textbf{n} включно \textbf{j}-ий рядок мiстить номери кiнцевих пунктiв тих стрiлок, якi виходять з \textbf{j}-го пункту.
\OutputFile
Перший рядок має мiстити у вказаному порядку номери пунктiв, що є стартом i фiнiшом.
Другий рядок має мiстити кiлькiсть пунктiв, якi неможливо уникнути на шляху вiд старту до фiнiшу та номери цих пунктiв у порядку зростання.
Третiй рядок має мiстити кiлькiсть пунктiв, якими можна розбити поданий план перегонiв на окремi плани, та номери цих пунктiв у порядку зростання.
\includegraphics{https://static.e-olymp.com/content/9f/9ffa10980350419d75f3e774a75934743f8a0e4a.jpg}
Giriş verilənləri #1
3 3 4 5 6 6 7 8 9 5 9 1 2
Çıxış verilənləri #1
10 9 2 3 6 1 3