#D9453. Change a Little Bit
Change a Little Bit
Change a Little Bit
For two sequences S and T of length N consisting of 0 and 1, let us define f(S, T) as follows:
-
Consider repeating the following operation on S so that S will be equal to T. f(S, T) is the minimum possible total cost of those operations.
-
Change S_i (from 0 to 1 or vice versa). The cost of this operation is D \times C_i, where D is the number of integers j such that S_j \neq T_j (1 \leq j \leq N) just before this change.
There are 2^N \times (2^N - 1) pairs (S, T) of different sequences of length N consisting of 0 and 1. Compute the sum of f(S, T) over all of those pairs, modulo (10^9+7).
Constraints
- 1 \leq N \leq 2 \times 10^5
- 1 \leq C_i \leq 10^9
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N C_1 C_2 \cdots C_N
Output
Print the sum of f(S, T), modulo (10^9+7).
Examples
Input
1 1000000000
Output
999999993
Input
2 5 8
Output
124
Input
5 52 67 72 25 79
Output
269312
inputFormat
input are integers.
Input
Input is given from Standard Input in the following format:
N C_1 C_2 \cdots C_N
outputFormat
Output
Print the sum of f(S, T), modulo (10^9+7).
Examples
Input
1 1000000000
Output
999999993
Input
2 5 8
Output
124
Input
5 52 67 72 25 79
Output
269312
样例
2
5 8
124