#include #include #include #include #include #include #include #include #include #define ALL(obj) (obj).begin(),(obj).end() #define RALL(obj) (obj).rbegin(),(obj).rend() #define P pair #define MOD 1000000007 #define INF 2147483647 #define NINF (-2147483647-1) #define LLINF 9223372036854775807 using ll = long long; using namespace std; ll fnc[100010]; ll inv[100010]; ll powMod(ll k, ll n, ll mod) { ll x = 1; while (n > 0) { if (n & 1) { x = x * k % mod; } k = k * k % mod; n >>= 1; } return x; } int main() { int N; cin >> N; vector a(N); for (int i = 0; i < N; i++) { cin >> a[i]; } ll ans = 0, comb = 1; for (int i = 0; i < N; i++) { ans = (ans + a[i] * comb) % MOD; comb = comb * (N - 1 - i) % MOD; comb = comb * powMod(i + 1, MOD - 2, MOD) % MOD; } cout << ans << endl; getchar(); getchar(); return 0; }