- Time limit: 1.00 s
- Memory limit: 512 MB
Given an array of n numbers, your task is to divide it into n subarrays, each of which has a single element.
On each move, you may choose any subarray and split it into two subarrays. The cost of such a move is the sum of values in the chosen subarray.
What is the minimum total cost if you act optimally?
Input
The first input line has an integer n: the array size. The array elements are numbered 1,2,\dots,n.
The second line has n integers x_1,x_2,\dots,x_n: the contents of the array.
Output
Print one integer: the minimum total cost.
Constraints
- 1 \le n \le 5000
- 1 \le x_i \le 10^9
Example
Input:
5 2 7 3 2 5
Output:
43