#include using namespace std; using ll = long long; const ll MOD = 1000000007; using P = pair; #define rep(i, n) for(int i = 0; i < n; i++) #define all(x) (x).begin(),(x).end() int main(){ int n; cin >> n; vector a(n); ll x = 1, k = 2; rep(i,n){ ll p; cin >> p; x = x * p % MOD; a[i] = x; } ll ans = a[n-1]; rep(i,n-1){ ans = (ans + a[n-i-2] * k) % MOD; k = k * 3 % MOD; } cout << ans << endl; return 0; }