#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=100050;
const int mod=1e9+7;
void ckadd(ll& a,ll b){a+=b;if(a>=mod)a%=mod;}
int n,k;
ll a[N],cnt[N];
void PrintAll(int l,int r,int k){
    //printf("%i %i %i\n",l,r,k);
    //for(int i=l;i<=r;i++)cnt[i]++;
    if(k==0){
        for(int i=l;i<=r;i++)cnt[i]++;
        return;
    }
    for(int i=l;i<=r;i++){
        for(int j=i;j<=r;j++){
            PrintAll(i,j,k-1);
            //cnt[j]++;
        }
    }
}
int main(){
    scanf("%i %i",&n,&k);
    for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
    /*if(n<=300&&k<=300){
        SolveDP();
        return 0;
    }*/
    PrintAll(1,n,k);
    ll ans=0;
    //for(int i=1;i<=n;i++)printf("%i ",cnt[i]);
    for(int i=1;i<=n;i++)ckadd(ans,cnt[i]*a[i]);
    printf("%lld",ans);
    return 0;
}