############################################################################################## import sys input = sys.stdin.readline from collections import defaultdict MOD = 10**9+7 N,K=map(int, input().split()) A=list(map(int, input().split())) fac=defaultdict(int) fac[0]=1 for i in range(1,N+1): fac[i]=fac[i-1]*i%MOD fac2=defaultdict(int) fac2[K]=1 for i in range(K+1,K+N+1): fac2[i]=fac2[i-1]*i%MOD def H(k,K): return fac2[K+k-1]*pow(fac[k-1],MOD-2,MOD)%MOD res=0 for i in range(N): res+=A[i]*H(i+1,K)%MOD*H(N-i,K)%MOD res%=MOD print(res)