Міста - конкуренти
У країні Флатландії є N міст, кожне місто випускає один певний товар з M товарів. Міста, що випускають один і той же товар, є містами-конкурентами. Города Флатландії хочуть об'єднатися в торгівельну мережу. Як показали дослідження, для того, щоб якість міста могли об'єднатися в торгівельну мережу, необхідно і достатньо, щоб з довільного міста A можна було дістатись по дорогам мережі в довільне інше місто B. При цьому в такій мережі не повинно бути доріг між городами-конкурентами, тобто міста-конкуренти не є сусідами у цій мережі.
Ваша задача - по заданим містам Флатландії побудувати мережу доріг таким чином, щоб довжина мережі була мінімальною. Довжина мережі - це сума довжин побудованих доріг. Дороги між містами будуються таким чином, щоб попасти на них можна було тільки з міст, які вони з'єднують. Для того, щоб униктути перетинів, дороги можна розміщувати на різних рівнях.
Вхідні дані
У першому рядку вхідного файлу записано через пропуск два цілих числа N та M (1 ≤ N ≤ 200, 1 ≤ M ≤ 200). В наступних N рядках описано міста Флатландії, опис кожного міста займає один рядок. У відповідному рядку записано через пропуск три цілих числа X_i, Y_i, Z_i, де X_i і Y_i - координати i-го міста, a Z_i - номер продукції, яку выпускає це місто (-10000 ≤ X_i, Y_i ≤ 10000, 1 ≤ Z_i ≤ M, 1 ≤ i ≤ N).
Вихідні дані
У перший рядок вихідного файлу потрібно вивести одне дійсне число з точністю до 0.001 - мінімальну довжину мережі доріг. Якщо міста об'єднати в торгівельну мережу неможливо, то вивести -1.