#include <atcoder/modint>
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;
#define rep(i,n) for(int i=0; i<(n); i++)

using mll = atcoder::static_modint<1000000007>;

int N;
ll M;
vector<int> A;

int main(){
  scanf("%d%lld",&N,&M);
  A.resize(N);
  rep(i,N-1) scanf("%d",&A[i+1]);
  mll C = 1;
  mll ans = 0;
  for(int i=1; i<=N; i++){
    C *= M+i-1;
    C /= i;
    ans += C * A[N-i];
  }
  printf("%u\n",ans.val());
  return 0;
}