B. Пекарня
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Маша хочет открыть свою пекарню и печь пирожки в одном из n городов, пронумерованных от 1 до n. Также существует m двунаправленных дорог, каждая из которых соединяет некоторую пару городов. Чтобы печь пирожки, Маше нужно наладить регулярные поставки муки со склада. Всего существует k складов, расположенных в различных городах с номерами a1, a2, ..., ak.

К сожалению, законы страны, в которой живет Маша, не позволяют открывать пекарню в любом из городов, где есть склад. Открыть ее можно только в одном из остальных n - k городах, при этом, само собой, за доставку муки нужно платить — за каждый километр пути от склада до пекарни Маша заплатит 1 рубль.

Формально, Маша заплатит x рублей, если она откроет пекарню в городе b (ai ≠ b для любого 1 ≤ i ≤ k) и выберет склад в городе s (s = aj для некоторого 1 ≤ j ≤ k), а между городами b и s существует путь по дорогам суммарной длины x (если путей несколько, Маша вправе выбирать, какой именно путь будет использован).

Маша — крайне бережливый и рациональный человек. Ее интересует тот город, при открытии пекарни в котором (и выборе одного из k складов и пути между городом с пекарней и городом со складом) платить за доставку ей придется меньше всего. Помогите Маше найти сумму, которую она заплатит в этом случае.

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

В первой строке содержится три целых числа n, m и k (1 ≤ n, m ≤ 105, 0 ≤ k ≤ n) — число городов в стране Маши, число дорог между ними и число складов с мукой соответственно.

Далее следуют m строк. Каждая из них содержит три целых числа u, v и l (1 ≤ u, v ≤ n, 1 ≤ l ≤ 109, u ≠ v), означающих, что между городами с номерами u и v существует двунаправленная дорога длины l километров .

Если k > 0, то в последней строке содержатся k различных целых чисел a1, a2, ..., ak (1 ≤ ai ≤ n) — номера городов, в которых располагаются склады с мукой. Если k = 0, то описанная строка отсутствует.

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

В единственной строке выведите минимальную цену, которую придется заплатить Маше за доставку муки.

Если открыть пекарню, удовлетворив необходимым условиям, ни в одном из n городов невозможно, в единственной строке выведите  - 1.

Примеры
Входные данные
5 4 2
1 2 5
1 2 3
2 3 4
1 4 10
1 5
Выходные данные
3
Входные данные
3 1 1
1 2 3
3
Выходные данные
-1
Примечание

Иллюстрация к первому примеру из условия. Темным цветом выделены города со складами и дорога, длина которой является ответом.