#include <stdio.h>

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;
}