DZY любит садоводство, поэтому он обожает решать задачи про деревья.
У DZY есть взвешенное дерево (связный неориентированный граф без циклов), состоящее из n вершин (пронумерованных от 1 до n). Определим функцию g(x, y) (1 ≤ x, y ≤ n) как длину самого длинного ребра в кратчайшем пути между вершинами x и y. В частности, g(z, z) = 0 для любого z.
Для каждой целочисленной последовательности p1, p2, ..., pn (1 ≤ pi ≤ n), определим f(p) как
.
DZY хочет найти такую последовательность p, что f(p) принимает максимальное возможное значение. Есть еще одно ограничение: элемент j может встречаться в p не более xj раз.
Пожалуйста, помогите DZY, найдите максимальное возможное f(p) при описанных ограничениях.
Примечание
В первом примере одна из оптимальных последовательностей p равна [4, 3, 2, 1].