#include #include #include #include #include #include #include #include #include #include using namespace std; #define MOD 1000000007 long long modinv(long long a, long long mod) { long long b = mod, u = 1, v = 0; while (b) { long long t = a / b; a -= t * b; swap(a, b); u -= t * v; swap(u, v); } u %= mod; if (u < 0) u += mod; return u; } int main() { long long N, M; cin >> N >> M; vector A(N); for (int i = 0; i < N; i++) cin >> A[i]; long long ans = 0; long long com = 0; for (long long i = N - 1; i >= 0; i--) { if (i == N - 1) com = M % MOD; else com = (com * ((N - i + M - 1) % MOD) % MOD) * modinv(N - i, MOD) % MOD; ans += A[i] * com % MOD; } cout << ans % MOD << endl; }