J. Защищённое соединение
В стране городов. В некоторых стоят дата-центры первой компании, в некоторых — второй, в остальных ничего. Известны пар городов, которые можно соединить сегментом связи, и стоимость каждого сегмента.
Канал должен начинаться в городе с дата-центром первой компании и заканчиваться в городе с дата-центром второй. Найдите наименьшую стоимость такого канала.
Запускать Дейкстру из каждого города первой компании — до запусков и . Не нужно: положите в кучу сразу все города первой компании с расстоянием ноль. Это тот же многоисточниковый обход, что был в занятии по обходу в ширину, только с весами.
Формально это Дейкстра из фиктивной вершины, соединённой рёбрами нулевого веса со всеми источниками; добавлять её в граф не нужно.
Формат ввода
Первая строка содержит числа () и ().
Вторая строка — чисел (): — дата-центр первой компании, — второй, — ничего. Гарантируется, что есть хотя бы одна единица и хотя бы одна двойка.
Далее идут строк: два различных города и стоимость (). Между парой городов не более одного сегмента.
Формат вывода
Три числа , и — города и наименьшая стоимость. Если пара не единственная, выведите лексикографически наименьшую по .
Если соединить невозможно, выведите .
Примеры
6 7 1 0 1 2 2 0 1 3 3 1 2 4 2 3 3 2 4 2 1 6 5 3 5 6 5 6 1
3 4 5
4 2 1 0 0 2 1 3 3 2 4 2
-1