def make_factorial_table(n): result = [0] * (n + 1) result[0] = 1 for i in range(1, n + 1): result[i] = result[i - 1] * i % m return result def mcomb(n, k): if n == 0 and k == 0: return 1 if n < k or k < 0: return 0 return fac[n] * pow(fac[n - k], m - 2, m) * pow(fac[k], m - 2, m) % m m = 1000000007 N, *a = map(int, open(0).read().split()) fac = make_factorial_table(N) result = 0 for i in range(N): result += mcomb(N - 1, i) * a[i] result %= m print(result)