#691. 乘以二

乘以二

Description

你有 nn 个数字 a1,a2,,ana_1,a_2,\dots,a_n,需要进行恰好 kk 次操作。 每次操作可以任选一个数字 aia_i,并将它乘以 2

请你求出:kk 次操作后,所有数字之和的最小可能值

由于答案可能很大,你只需要输出答案对 109+710^9+7 取模后的结果。 注意:必须先计算最小和,再取模,而不是先取模再求最小值。

Format

Input

第一行输入两个整数 n,kn,k(1n2×105, 0k109)(1\le n\le 2\times 10^5,\ 0\le k\le 10^9)

第二行输入 nn 个整数 aia_i(1ai109)(1\le a_i\le 10^9)

Output

输出一行一个整数,表示 kk 次操作后最小总和对 109+710^9+7 取模的结果。

Samples

3 3
7 2 1
15

Limitation

1s, 1024KiB for each test case.