Дано дерево, состоящее из \(n\) вершин. У каждой вершины \(u\) есть вес \(a_u\). Гарантируется, что в дереве есть только одна вершина с минимальным весом. У каждой вершины \(u\) (кроме вершины с минимальным \(a_u\)), есть сосед \(v\), такой, что \(a_v<a_u\).
Вам необходимо составить дерево с минимальным весом \(w\), который считается следующим образом:
- Для каждой вершины \(u\), \(deg_u \cdot a_u\) прибавляется к \(w\) (\(deg_u\) обозначает степень вершины \(u\)).
- Для каждого ребра \(\{ u,v \}\), \(\lceil log_2(dist(u,v)) \rceil \cdot min(a_u,a_v)\) прибавляется к \(w\), где \(dist(u,v)\) обозначает количество ребер на пути из \(u\) в \(v\) в данном дереве.
Выходные данные
Выведите одно целое число: минимальное возможное значение \(w\).
Примечание
В первом примере данное дерево исходно имеет минимальное значение \(w\).
Во втором примере оптимальное дерево имеет следующий вид:

| № | Входные данные | Выходные данные |
|
1
|
3
1 2 3
1 2
1 3
|
7
|
|
2
|
5
4 5 3 7 8
1 2
1 3
3 4
4 5
|
40
|