N, K = map(int, input().split()) A = list(map(int, input().split())) def combs_mod(n,k,mod): #nC0からnCkまで inv = [1]*(n+1) for i in range(1,n): inv[i] = pow(i,mod-2,mod) ans = [1]*(n+1) for i in range(1,n): ans[i] = ans[i-1]*(k+i)*inv[i]%mod return ans ans = 0 mod = 10**9+7 combs = combs_mod(N,K,mod) for i in range(N): ans += A[i]*combs[i]*combs[N-1-i] ans %= mod print(ans)