N,K=map(int,input().split()) A=["*"]+list(map(int,input().split())) Mod=10**9+7 Inv=[0]*(N+1); Inv[1]=1 for i in range(2,N+1): q,r=divmod(Mod,i) Inv[i]=-q*Inv[r]%Mod L=[0]*(N+1); L[1]=1 for i in range(2,N+1): b=(i+K-1)*Inv[i-1]%Mod L[i]=b*L[i-1]%Mod R=[0]*(N+1); R[N]=1 for i in range(N-1,0,-1): b=(N-i+K)*Inv[N-i] R[i]=b*R[i+1]%Mod X=0 for a,l,r in zip(A[1:],L[1:],R[1:]): X+=a*((l*r)%Mod) X%=Mod print(X)