#==================================================
N=int(input())
A=[-1]+list(map(int,input().split()))

Mod=10**9+7
THREE=[1]*(N+1)
for i in range(1,N+1):
    THREE[i]=(3*THREE[i-1])%Mod

X=0
alpha=1
for i in range(1,N+1):
    alpha*=A[i]; alpha%=Mod

    if i==N:
        X+=alpha
    else:
        X+=alpha*THREE[N-1-i]*2
        X%=Mod

print(X)