Codeforces Round 484 (Div. 2) |
---|
Закончено |
Петр — следователь по особо важным делам в городе Брагинске. Совсем недавно из банка организованная банда преступников похитила огромную сумму денег. В местном полицейском участке Петру приказали отыскать воришек. Днём и ночью работал Пётр, но никак не удавалось напасть на след злоумышленников. Однако воскресным днём поступил звонок, в котором сообщалось, что некоторая группа людей катается на новенькой машине по дорогам города, не останавливаясь.
Сомнений не осталось: только те самые преступники могли так дерзко рассекать по городу. Дороги в Брагинске односторонние и каждая из них соединяет ровно два перекрестка. Теперь перед Петром стоит задача попроще – ему нужно узнать, может ли он выбрать перекрёсток таким образом, что, если преступники будут продолжать ездить по односторонним дорогам города бесконечно долго, рано или поздно они проедут через данный перекресток. Начальное положение преступников неизвестно. Найдите перекресток, подходящий Петру.
Первая строка входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$2 \leq n \le 10^5$$$, $$$2 \leq m \leq 5 \cdot 10^5$$$) — количество перекрестков и односторонних дорог Брагинска, соответственно.
В каждой из следующих $$$m$$$ строк записано по два числа $$$u_i$$$ и $$$v_i$$$ ($$$1 \le u_i, v_i \le n$$$, $$$u_i \ne v_i$$$) — начало и конец $$$i$$$-той односторонней дороги. Гарантируется, что преступники могут ездить по дорогам города бесконечно долго.
Выведите единственное число $$$k$$$ — номер перекрестка, который должен выбрать Петр. Если возможных ответов несколько, выведите любой. Если таких перекрестков в Брагинске нет, то выведите $$$-1$$$.
5 6
1 2
2 3
3 1
3 4
4 5
5 3
3
3 3
1 2
2 3
3 1
1
Преступники могли перемещаться, например, по следующим маршрутам: $$$(1-2-3-1)$$$, $$$(3-4-5-3)$$$, $$$(1-2-3-4-5-3-1)$$$. Можно показать, что если Петр устроит засаду на перекрестке $$$3$$$, то, вне зависимости от того, какой на самом деле был маршрут бандитов, он сможет их поймать.
Название |
---|