N,K=map(int,input().split()) A=list(map(int,input().split())) if K==0: print(sum(A)%(10**9+7)) exit() X=[K] mod=10**9+7 for i in range(N+1): X.append(X[-1]*pow(i+2,mod-2,mod)*(K+i+1)%mod) P=0 for i in range(N): P=(P+A[i]*(1+i)*(N-i)*X[i]*X[N-i-1])%mod print(P*pow(pow(K,mod-2,mod),2,mod)%mod)