#include const int Mod = 1000000007; int main() { int i, N, A[200001]; long long ans = 0, tmp, pow[200001]; scanf("%d", &N); for (i = 1; i <= N; i++) scanf("%d", &(A[i])); for (i = 1, pow[0] = 1; i <= N; i++) pow[i] = pow[i-1] * 3 % Mod; for (i = 1, tmp = A[1]; i < N; tmp = tmp * A[++i] % Mod) ans += tmp * pow[N-i-1] * 2 % Mod; printf("%lld\n", (ans + tmp) % Mod); fflush(stdout); return 0; }