牛牛种小树
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛最近在学数据结构。他打算用他得到的米粒去构造一棵有n个节点的树,并使得它的价值最大。
设f(d)表示树上度数为d的一个点能够获取的最大价值。则这棵树的价值为,其中d_i表示第i个点的度数。

输入描述:

第一行有一个整数 n。第二行有 n-1个整数 f(i) ,表示f(1) ~ f(n-1)

输出描述:

输出一行,为能构造的树的最大价值
示例1

输入

复制
3
2 1

输出

复制
5
示例2

输入

复制
4
5 1 4

输出

复制
19

备注:

 ,