#include<bits/stdc++.h>
#define ll long long
#define M 200005
#define mod 1000000007
using namespace std;
ll n,ans;
ll a[M],p[M];
ll qpow(ll x,ll base){
ll ans=1;
if(base<1) return 1;
while(base){
if(base&1) ans=ans*x%mod;
x=x*x%mod;
base>>=1;
}
return ans%mod;
}
int main(){
cin>>n;
for(ll i=1;i<=n;i++) cin>>a[i];
p[0]=1;
for(ll i=1;i<=n;i++) p[i]=p[i-1]*2%mod;
for(ll i=1;i<=n;i++){
ans=(ans+p[i-1]*a[i]%mod*(p[n-i-1]*(n-i)%mod+p[n-i]%mod)%mod)%mod;
}
cout<<qpow(2,n)*ans%mod;
return 0;
}
玄关