#include #include #include #include #include #include #include using namespace std; #define int long long #define endl "\n" constexpr long long INF = (long long)1e18; constexpr long long MOD = 1000000007; struct fast_io { fast_io(){ std::cin.tie(nullptr); std::ios::sync_with_stdio(false); }; } fio; signed main(){ cout< A; vector> dp; cin>>N; A.resize(N); dp.resize(N+1, vector(4)); for(int i = 0; i < N; i++){ cin>>A[i]; } dp[1][0] = A[0]; dp[1][1] = 0; dp[1][2] = A[0]; dp[1][3] = 0; for(int i = 2; i <= N; i++){ dp[i][0] = (dp[i-1][0] + dp[i-1][0] + dp[i-1][1] + dp[i-1][1]) % MOD; dp[i][1] = (dp[i-1][2] * A[i-1] + dp[i-1][3])%MOD; dp[i][2] = (dp[i-1][2] * A[i-1] + 0) % MOD; dp[i][3] = (dp[i-1][3] + dp[i][0]) % MOD; } cout<<(dp[N][0]+dp[N][1])%MOD<