#include <bits/stdc++.h>

using namespace std;

vector<long long> V(1000);
long long sum=0;
long long mod=1e9+7;

void trpaj(int i, int j, int k)
{
    if(k==0)
    {
        for(int p=i;p<=j;p++)sum+=V[p];
        sum=sum%mod;
        return;
    }
    int p,q;
    for(p=i;p<=j;p++)
    {
        for(q=p;q<=j;q++)
        {
            trpaj(p,q,k-1);
            sum=sum%mod;
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int n,k,i,j,p;
    cin>>n>>k;
    for(i=0;i<n;i++)cin>>V[i];
    if(k==1)
    {
        for(i=0;i<n;i++)
        {
            sum+=V[i]*(i+1)*(n-i);
            sum=sum%mod;
        }
    }
    else trpaj(0,n-1,k);
    cout<<sum;
    return 0;
}