nCr = {} def cmb(n, r): if r == 0 or r == n: return 1 if r == 1: return n if (n,r) in nCr: return nCr[(n,r)] nCr[(n,r)] = cmb(n-1,r) + cmb(n-1,r-1) return nCr[(n,r)] N=int(input()) a=[*map(int,input().split())] ans=a[0]+a[N-1] for i in range(1,N-1): ans+=a[i]*(cmb(N-1,i)) print(int(ans%1000000007))