eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

У пошуках наречених

У пошуках наречених

Одного разу король Флатландії вирішив відправити k своїх синів на пшуки наречених. Усім відомно, що у Флатландії n міст, деякі з яких з'єднано дорогами. Король живе у столиці, яка має номер 1, а місто під номером n знамените своїми нареченими.

Отже, король звелів, щоб кожен з його синів діставлся по дорогам з міста 1 у місто n. Оскільки, недивлячись на достатню кількість наречених у місті n, красивих снред них не так вже й багато, сини стережуться один одного. Тому вони хочуть дістатись до мети таким чином, щоб ніякі два сини не проходили по одній і тій же дорозі (навіть у різний час). Так як король любить своїх синів, він хоче, щоб середній час сина у дорозі до міста призначення був мінімальним.

Вхідні дані

У першому рядку знаходяться числа n, m та k (2n200, 1m2000, 1k100) - кількість міст та доріг у Флатландії і синів короля, відповідно. Наступні m рядків містять по три цілих додатних числа кожен - міста, які з'єднує відповідна дорога та час, який потрібно для її проходження (час не перевищує 106). По дорозі можна переміщуватись у довільному з двох напрямків, два міста можуть бути з'єднані декількома дорогами.

Вихідні дані

Якщо виконати наказ короля неможливо, виведіть у першому рядку число -1. У протилежному випадку виведіть у першому рядку мінімально можливий середній час (з точністю 5 знаків після десяткової крапки), який потрібно синам, щоб дістатись до міста призначення, не менше ніж з п'ятьма знаками післе десяткової крапки. У наступних k рядках виведіть шляхи синів, спочатку кількість доріг на шляху і потім номери доріг на шляху у тому порядку, у якому їх потрібно проходити. Дороги нумеруються, починаючи з одиниці, у тому порядку, у якому вони задані на вході.

Ліміт часу 2 секунди
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5 8 2
1 2 1
1 3 1
1 4 3
2 5 5
2 3 1
3 5 1
3 4 1
5 4 1
Вихідні дані #1
3.00000
2 2 6
2 3 8