#include <bits/stdc++.h>

using namespace std;

const long long mod = 1000000007;

long long n, k;
long long br = 0;
long long binomniKoeficijent[2005][2005];

long long binomni(int N, int K)
{
    if(N == 0 || K == 0 || N == K) return 1;
    if(N == 1) return K;
    if(K == 1) return N;
    return binomniKoeficijent[N-K][K];
}

void za90(long long *niz)
{
    for(int i = 0; i < n; i++)
    {
        br += (((binomni(i+k, k)%mod)*(binomni(n-i+k-1, k)%mod)%mod)*(niz[i]%mod))%mod;
        br %= mod;
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> k;
    long long niz[n];
    int x = max(n, k)*2;
    for(int i = 0; i < 2005; i++)
    {
        for(int j = 0; j < 2005; j++)
        {
            if(i == 0 || j == 0) binomniKoeficijent[i][j] = 1;
            else binomniKoeficijent[i][j] = (binomniKoeficijent[i-1][j] + binomniKoeficijent[i][j-1]) % mod;
        }
    }
    for(int i = 0; i < n; i++)
        cin >> niz[i];
    za90(niz);
    cout << br;
    return 0;
}