Телефонні лінії#10153

Телефонні лінії

1 секунда
128 мегабайтів
Легка

Фермер Джон хоче провести телефонну лінію на свою ферму. На жаль, телефонна компанія не надто охоче йому допомагає, тому йому доведеться оплатити частину кабелів, необхідних для підключення ферми до телефонної мережі.

На території фермера Джона розкидано самотніх телефонних стовпів, пронумерованих від до . Наразі жоден з них не з'єднаний кабелем з іншим. Всього існує пар стовпів, які можна з'єднати кабелем; інші пари знаходяться занадто далеко один від одного.

-й кабель може з'єднати два різні стовпи a_i та b_i і має довжину l_i~(1 \le l_i \le 10^6) одиниць. Кожна пара {a_i,b_i} зустрічається у вхідних даних не більше одного разу.

Стовп вже підключений до телефонної мережі, а стовп знаходиться на фермі. Стовпи та необхідно з'єднати шляхом, що складається з кабелів; інші стовпи можуть використовуватися або не використовуватися.

Телефонна компанія готова безкоштовно надати фермеру Джону відрізків кабелю. За кожен кабель понад ці безкоштовних кабелів фермер повинен заплатити суму, що дорівнює довжині найдовшого з решти необхідних йому кабелів, або , якщо додаткові кабелі йому не потрібні.

Визначте мінімальну суму, яку повинен заплатити фермер Джон.

Вхідні дані

У першому рядку знаходяться три цілих числа та k~(1 \le n \le 1000, 1 \le p \le 10000, 0 \le k < n).

У кожному з наступних рядків знаходяться три цілих числа a_i, b_i та l_i.

Вихідні дані

Виведіть одне ціле число — мінімальну суму, яку повинен заплатити фермер Джон. Якщо неможливо з'єднати ферму з телефонною мережею, виведіть .

Приклади

Приклад 1

Loading
Loading