В университете Павлополиса начинается второй семестр. После отдыха в Вичкополисе Нура вынуждена вернуться в Павлополис и продолжить обучение.
Иногда (или достаточно часто) встречаются преподаватели, которым вы не нравитесь. Вот и у Нуры есть такой. Зовут его Юрий Дмитриевич и он преподает теорию графов. Нура совсем не нравится Юрию Дмитриевичу, поэтому он всегда даёт девушке самые сложные задания. Так случилось и на этот раз.
Преподаватель даёт Нуре дерево из n вершин. Вершины пронумерованы целыми числами от 1 до n. Длины всех ребер этого дерева равны 1. Нура выбирает некоторое множество простых путей, которые попарно не пересекаются по ребрам. При этом каждая вершина должна принадлежать хотя бы одному из выбранных путей.
Для каждого из выбранных путей выполняется следующее:
- Выбирается ровно одно ребро (u, v), которое принадлежит пути.
- На выбранном ребре (u, v) отмечается точка на некотором выбранном расстоянии x от вершины u и расстоянии 1 - x от вершины v. При этом расстояние x выбирается Нурой произвольно, то есть может быть различным для разных ребер.
- Выбирается одна из вершин u или v — именно к выбранной вершине точка начнет свое движение.
Поясним, как происходит движение точки на примере. Пусть путь состоит из двух ребер (v1, v2) и (v2, v3), точка изначально стоит на ребре (v1, v2) и начнет свое движение к вершине v1. Достигнет v1, затем «развернётся», так как был достигнут конец пути, начнет движение к v2, оттуда к v3, там снова «развернётся», переместится к v2 и так далее. При этом скорость движения точек равна 1 ребро в секунду. Например, за 0.5 секунды точка перемещается на длину половины ребра.
В каждую вершину дерева помещается секундомер. Время, которое показывают секундомеры в начальный момент времени, равно 0 секунд. Затем в начальный момент времени все точки одновременно начинают движения с выбранных позиций в выбранные направления по выбранным путям, а секундомеры одновременно запускаются. Когда какая-то из точек достигает вершины v, секундомер в вершине v автоматически обнуляется, то есть начинает считать время с нуля.
Обозначим за resv — максимальное время, которое покажет секундомер в вершине v, если процесс движения точек будет продолжаться бесконечно. Нуру просят выбрать пути и точки на них так, чтобы res1 было минимально возможным. Если вариантов сделать это несколько, необходимо минимизировать res2, затем res3, res4, ..., resn.
Помогите Нуре выполнить задание преподавателя.
Для лучшего понимания условия задачи смотрите пояснение к примерам.
Примечание
Рассмотрим пример.
В начальный момент времени точки расположены следующим образом:

Красным выделен первый путь, синим — второй, зеленые круги обозначают выбранные точки, а коричневые числа внутри вершин — текущее значение секундомера. Фиолетовые стрелочки показывают направление, куда будет двигаться точка.
Через 0.(3) секунд точки будут расположены следующим образом (до обнуления секундомеров):

После обнуления секундомеров:

Через 1.0 секунду после начала движения:

Через 1.(3) секунд после начала движения (после обнуления секундомеров):

Наконец, через 2 секунды после начала движения точки вернутся на исходные позиции:

Такой процесс движения будет продолжаться бесконечно.