Задача №111761. AlgoLand

Недавно королева страны AlgoLand придумала новый способ отмывания денег для своего королевского двора. Она решила, что всякий житель, желающий совершить путешествие из одного города страны в другой, должен расплатиться за это желание своими деньгами.

В стране AlgoLand есть N городов, пронумерованных от 1 до N. Некоторые города соединены дорогами, движение по которым разрешено в двух направлениях. Начиная движение по какой-нибудь дороге, путешественник обязательно должен доехать до ее конца.

Предположим теперь, что житель страны хочет совершить путешествие из города A в город B. Новый указ королевы гласит, что при проезде по любой дороге страны во время этого путешествия, полицейские могут взять с этого жителя таможенную пошлину в пользу королевского двора (а могут и не взять). Если при этом у жителя недостаточно денег для уплаты пошлины, то он автоматически попадает в тюрьму. Указ также устанавливает величину пошлины для каждой дороги страны. Так как королева заботится о жителях своей страны, то она запретила полицейским брать с жителя пошлину более чем два раза во время одного путешествия.

Отметим, что если существует несколько способов попасть из города A в город B, то житель может выбрать для путешествия любой из них по собственному желанию.

Напишите программу, которая определяет, какую минимальную сумму денег должен взять с собой житель, чтобы гарантированно не попасть в тюрьму во время путешествия.

Входные данные

Первая строка входного файла содержит числа N и M (2 ≤ N ≤ 10000, 1 ≤ M ≤ 100000), разделенные пробелом — количества городов и дорог. Следующие M строк описывают дороги. Каждая из этих строк описывает одну дорогу и содержит три числа X, Y, Z (1 ≤ X, Y ≤ N; X ≠ Y; 1 ≤ Z ≤ 100000000) разделенных пробелами, означающие, что дорога соединяет города X и Y и пошлина за ее проезд равна Z денежных единиц. Последняя строка содержит числа A и B (1 ≤ A, B ≤ N; A ≠ B) - номера начального и конечного городов путешествия. Гарантируется, что существует хотя бы один способ проезда из A в B.

Выходные данные

Единственная строка выходного файла должна содержать одно число, равное минимальной сумме денег, которую должен взять с собой житель, чтобы иметь возможность совершить путешествие из города A в город B и при этом гарантированно не попасть в тюрьму независимо от действий полицейских.

Примеры
Входные данные
5 6
1 5 1
5 4 1
5 2 2
4 2 1
3 2 1000000000
3 1 1000000000
1 3
Выходные данные
1000000000
Сдать: для сдачи задач необходимо войти в систему