对于两个长度为 n 的 01 序列 S,T ,我们定义 f(S,T) 为通过以下操作将 S 修改为 T 的最小代价和: 选择一个 S 中的二进制位 Si ,然后改变 Si 的 01 状态,代价为 D×Ci,其中 D 是此次操作前满足 Sj=Tj 的整数 j 的数量,Ci 是一个给定的序列中的一个值。
求当 S 取 2n 种不同的状态,T 取 2n 种不同的状态时,f(S,T) 的和对 1000000007 取模的结果。
第一行一个整数 n
第二行 n 个整数 Ci
一行一个整数,表示答案
1≤n≤200000,1≤Ci≤109