#include using namespace std; using llong = long long; using ldbl = long double; using P = pair; #define BE(x) x.begin(), x.end() const llong inf = llong(1e18)+7; const llong mod = 1e9+7; llong nCr[100001] = {}; void getnCr(llong N){ nCr[0] = 1; for(int i = 1; i <= N; i++){ nCr[i] = nCr[i-1]; nCr[i] *= (N-i+1); nCr[i] /= i; nCr[i] %= mod; } return; } int main(){ llong N; vector a; cin >> N; a.resize(N); for(int i = 0; i < N; i++) cin >> a[i]; getnCr(N-1); llong ans = 0; for(int i = 0; i < N; i++){ (ans += nCr[i]*a[i]) %= mod; } cout << ans << endl; return 0; }