E. Эвакуация
Сеть из бункеров соединена туннелями равной длины. В некоторых бункерах есть выходы наружу.
Для каждого бункера найдите время до ближайшего выхода — количество туннелей на кратчайшем пути — и номер этого выхода. Если ближайших выходов несколько, выведите выход с наименьшим номером.
Запускать обход из каждого бункера нельзя. Приём другой: положить в очередь сразу все выходы с расстоянием ноль. Такой обход называют многоисточниковым, и он за один проход даёт расстояние до ближайшего источника для всех вершин.
Чтобы номер выхода получался наименьшим, источники кладутся в очередь по возрастанию номера, а при равном расстоянии выбирается меньший номер выхода.
Формат ввода
Первая строка содержит числа () и ().
Вторая строка содержит различных номеров бункеров с выходами.
Третья строка содержит число (), далее строк с туннелями. Возможны кратные туннели; петель нет.
Формат вывода
В первой строке — чисел: время до ближайшего выхода.
Во второй — чисел: номер ближайшего выхода.
Примеры
3 1 2 3 1 2 3 1 2 3
1 0 1 2 2 2
2 1 2 0
-1 0 -1 2