#include <iostream>
#include <vector>
using namespace std;

typedef long long ll;

ll MOD = 1e9 + 7;

/* a^{-1} mod m */
ll inv_mod( ll a, ll m = MOD )
{
  ll b, x, u, q, abs_m, tmp; 

  abs_m = ( m < 0 ) ? -m : m;
  b = m; x = 1; u = 0; 
  while ( b > 0 ) {
    q = a / b; 
    tmp = u; u = x - q * u; x = tmp;
    tmp = b; b = a - q * b; a = tmp;
  }

  return ( x < 0 ) ? abs_m + x : x;
}

ll fact[100010];

ll nCr(int n,int r)
{
	return fact[n] * inv_mod(fact[r]) % MOD * inv_mod(fact[n - r]) % MOD;
}

int N;

int main()
{
	cin >> N;
	fact[0] = 1;
	for(int i = 1;i <= N;i++)
	{
		fact[i] = (fact[i - 1] * i) % MOD;
	}
	ll a;
	ll result = 0;
	for(int i = 0;i < N;i++)
	{
		cin >> a;
		result = (result + a * nCr(N - 1,i)) % MOD;
	}

	cout << result << endl;
	return 0;
}