#include using namespace std; const int N = 1e5+10, Mod = 1e9+7; long long pre[N], _pow[N]; int main() { int n; cin >> n; _pow[0] = 1, pre[0] = 1; for(int i = 1; i <= n; i ++) { int a; scanf("%d", &a); pre[i] = pre[i - 1] * a % Mod; _pow[i] = _pow[i - 1] * 3 % Mod; } long long res = 0; for(int k = 1; k < n; k++) { res = (res + (pre[k] * 2 * _pow[n - k - 1]) % Mod) % Mod; } res = (res + pre[n] % Mod) % Mod; cout << res; }