#include <iostream>

#define MaxN 2050
#define MaxK 2050

using namespace std;

long long dp[MaxN][MaxK+1];

int main()
{
    int n,k;
    int mod=1000000007;
    cin>>n>>k;
    int a[MaxN];
    for(int i=0;i<n;i++)
        cin>>a[i];
    for(int i=0;i<n;i++)
        dp[i][0]=1;
    for(int i=0;i<n;i++)
        for(int j=1;j<k+1;j++)
            if(i==0)
                dp[i][j]=dp[i][j-1];
            else
                dp[i][j]=(dp[i][j-1]+dp[i-1][j]) % mod;
    long long suma=0;
    for(int i=0;i<n;i++)
        suma=(suma + (((dp[i][k]*dp[n-1-i][k]) % mod)*a[i]) % mod) % mod;
    cout<<suma;
}