Задача "Грузовик"
Задана карта автодорог. Каждая дорога соединяет два города, и для нее известен максимальный вес грузовика, который может по ней проехать.
Необходимо определить, грузовик какого максимального веса может проехать из горда s в город t.
Формат входного файла
Первая строка входного файла содержит два целых числа: количество городов n (2≤n≤1000), количество дорог m (0≤m≤100000). Вторая строка содержит еще два целых числа - номер начального города s и номер конечного города t (1≤s,t≤n, s<>t).
Каждая из последующих m строк описывает одну дорогу. Описание дороги состоит из трех чисел - номеров u и v (1≤u,v≤n, u<>v) двух городов, которые эта дорога соединяет, и максимального веса w (0<w≤109) грузовика, который может проехать по этой дороге.
По каждой дороге можно ехать в обоих направлениях, между любыми двумя городами существует не более одной дороги.
Формат выходного файла
Если из города s невозможно доехать в город t, выведите в выходной файл одно число 0.
Иначе, в первой строке выходного файла выведите максимальный вес грузовика, который может проехать из города s в город t. Во второй и третьей строках в этом случае выведите один из маршрутов грузовика - во второй строке выведите количество городов в маршруте, а в третьей выведите эти города в том порядке, в котором грузовик должен будет их проехать.
Пример
Пример ввода | Пример вывода |
3 3 1 3 1 2 15 2 3 15 1 3 10 |
15 3 1 2 3 |
2 0 1 2 |
0 |