#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
#define vi vector<int>
#define vd vector<double>
#define inf 2e5
using namespace std;
const int R=1e9+7;
const int INF=inf;
long long rekurzija (int levo,int desno,int k,int arr[])
{
    if (levo==desno)
    {
        return arr[desno];
    }
    long long Resenje=0;
    if (k!=0)
    {
        for (int i=levo; i<=desno; i++)
    {
        int j=i;
        while(j<=desno)
        {
            Resenje=Resenje+rekurzija(i,j,k-1,arr)%R;
            j++;
        }
    }
    }
    else
    {
        int i=levo;
        while(i<=desno)
        {
            Resenje =Resenje+arr[i];
            i++;
        }
    }
    return Resenje;
}
int main ()
{
    int n,k;
    cin>>n>>k;
    int elementi[n];
    for (int i=0; i<n; i++)
    {
        cin>>elementi[i];
    }
    int pomocna=0;
    long long ans=rekurzija(pomocna,n-1,k,elementi);
    cout<<ans;
    return 0;
}