#include<bits/stdc++.h>
using namespace std;
int N,K,Mat[109][109],A[200009],sumfrst[200009],sufsum[200009];
long long sol;
int m=1e9+7;
int main(){
  cin>>N>>K;
  for(int i=1; i<=N; i++){
    cin>>A[i];
    sumfrst[i]=sumfrst[i-1]+A[i];
  }
  sufsum[N]=1;
  for(int k=1; k<=K; k++){
    int sum=0;
    for(int i=N; i>=1; i--){
      sum+=sufsum[i];
      sufsum[i]=sum;
    }
  }
  for(int i=1; i<=N; i++){
    for(int j=N; j>=i; j--){
      sol+=(sumfrst[j]-sumfrst[i-1])*sufsum[N-i+1]*sufsum[j];
      sol%=m;
    }
  }
  cout<<sol<<endl;

  return 0;
}