from itertools import accumulate N=int(input()) A=list(map(int,input().split())) mod=10**9+7 for i in range(N-1): A[i+1]=A[i]*A[i+1]%mod ans=0 for i in range(N-1): ans+=A[i]*(pow(3,N-i-1,mod)-pow(3,N-i-2,mod))%mod print((ans+A[-1])%mod)