Чиновники і дороги
У місті Фловіль відбулися вибори чиновників. Місто можна уявити як зв'язний неорієнтований граф, що складається з вершин і ребер. Кожне ребро графа описується трійкою чисел: , , , де і — вершини, які з'єднує ребро, а — його довжина.
Кожному чиновнику надається житло. Чиновнику з номером виділяється житло у вершині графа з номером . У місті є офісів, де чиновники можуть працювати. Якщо чиновнику з номером виділено офіс у вершині графа з номером , то він щодня їздитиме на автомобілі з вершини до вершини . Чиновник завжди обирає найкоротший шлях. Якщо існує кілька найкоротших шляхів, він обирає той, що є «лексикографічно найменшим» при упорядкуванні вершин маршруту у зворотному порядку (від офісу до дому).
Наприклад, якщо є два найкоротші шляхи з вершини 0 до вершини 5: 0→1→2→4→5 і 0→3→5, то чиновник обере шлях 0→3→5. У зворотному порядку ці шляхи виглядають як 5→4→2→1→0 і 5→3→0. Лексикографічно найменший — це 5→3→0.
Усі дороги (ребра графа), що входять до маршруту чиновника, завжди будуть підтримуватися в хорошому стані.
Кожному чиновнику потрібно вибрати лише один офіс з наявних, щоб сумарна довжина доріг, які будуть у хорошому стані, була максимальною.
Вхідні дані
У першому рядку через пробіл задано три цілі числа , та .
— кількість вершин графа ();
— кількість ребер у графі ();
— кількість чиновників ();
Далі йдуть рядків, що описують ребра графа. Кожне ребро задано у форматі: , де — довжина ребра (), ().
Далі йде рядок з цілих чисел:
— номери вершин, у яких знаходяться будинки чиновників;
Далі йде рядок з цілих чисел:
— номери вершин, у яких знаходяться офіси для майбутньої роботи чиновників.
Вихідні дані
— максимальна сумарна довжина доріг, які будуть гарантовано відремонтовані.
— номери вершин, у яких знаходяться офіси для майбутньої роботи чиновників, що відповідають максимальній сумарній довжині гарантовано відремонтованих доріг .