#include<iostream>
using namespace std;
long long f(long long a[],long long po,long long kr,long long n,long long k){
	long long suma=0;
	long long j;
	if(k==0){
		for(int i=po;i<=kr;i++){
			suma+=(a[i]);
		}
	}
	else if(k>=1){
		for(long long i=po;i<=kr;i++){
			for(j=i;j<=n;j++){
				suma+=f(a,i,j,n,k-1);
			}
		}
	}
			return suma;
	
}
long long N,A[1000000],k,dedic;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	cin>>N>>k;
	for(int i=1;i<=N;i++){
		cin>>A[i];
	}
	dedic=f(A,1,N,N,k);
	dedic%=1000000007;
	cout<<dedic;
	return 0;
}