#!/usr/bin/env python3 # from typing import * import sys import io import math import collections import decimal import itertools import bisect import heapq def input(): return sys.stdin.readline()[:-1] # sys.setrecursionlimit(1000000) # _INPUT = """3 # 1 2 3 # """ # sys.stdin = io.StringIO(_INPUT) INF = 10**10 MOD = 1000000007 N = int(input()) A = list(map(int, input().split())) ans = 0 s = 1 for i in range(N): s = (s * A[i]) % MOD if i < N-1: ans = (ans + s * 2 * pow(3, N-2-i, MOD)) % MOD else: ans = (ans + s) % MOD print(ans)