Codeforces Round 319 (Div. 1) |
---|
Закончено |
В стране имеется ровно n городов, пронумерованные натуральными числами от 1 до n. В каждом городе находится аэропорт.
Также в стране имеется единственная авиакомпания, которая совершает m рейсов. К сожалению, чтобы воспользоваться ими, вам требуется быть постоянным клиентом этой компании, а именно, вы имеете возможность пользоваться рейсом номер i из города ai в город bi только в том случае, если вы уже совершили не менее di перелетов с использованием рейсов авиакомпании.
Обратите внимание, что рейс с номером i летит именно из города ai в город bi. Им нельзя воспользоваться, чтобы прилететь из города bi в город ai. Интересная особенность услуг, предоставляемых авиакомпанией, заключается в том, что бывают развлекательные полеты с прекрасным видом на небо, которые начинаются и заканчиваются в одном и том же городе.
Вам необходимо попасть из города 1 в город n. К сожалению, до этого вы никогда не путешествовали самолетом. Какое минимальное число перелетов вам потребуется, чтобы осуществить это путешествие?
Обратите внимание, что одним и тем же рейсом можно летать несколько раз.
В первой строке даны два целых числа n и m (2 ≤ n ≤ 150, 1 ≤ m ≤ 150) — число городов в стране и число авиарейсов, которые осуществляет авиакомпания.
В последующих m строках заданы числа ai, bi, di (1 ≤ ai, bi ≤ n, 0 ≤ di ≤ 109), обозначающие рейс номер i из города ai в город bi, на который допускаются только клиенты, совершившие не менее di перелетов.
Выведите «Impossible» (без кавычек), если невозможно добраться из города 1 в город n услугами данной авиакомпании.
Если же хотя бы один способ существует, выведите одно число — минимальное количество авиаперелетов, которое вам потребуется сделать, чтобы добраться до пункта назначения.
3 2
1 2 0
2 3 1
2
2 1
1 2 100500
Impossible
3 3
2 1 0
2 3 6
1 2 0
8
Название |
---|