#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long int f(int* a, int levi, int desni, int k)
{
  long int fu=0;
  int i,j;
  if(k==0)
    for(i=levi;i<desni;i++) fu+=a[i];
  else
    for(i=levi;i<desni;i++)
      for(j=i;j<=desni;j++)
        fu+=f(a,i,j,k-1);
  return fu%((int)pow(10,9)+7);
}
int main(void)
{
  int n,k,i,j;
  scanf("%d%d", &n,&k);
  int* a=(int*)malloc(n*(sizeof(int)));
  for(i=0;i<n;i++) scanf("%d", &a[i]);
  printf("%ld", f(a,0,n,k));
}