using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BUG
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] str = Console.ReadLine().Split();
            int n = int.Parse(str[0]);
            int k = int.Parse(str[1]);

            int[] a = new int[n];
            str = Console.ReadLine().Split();
            for (int i = 0; i < n; i++)
            {
                a[i] = int.Parse(str[i]);
            }
            Console.WriteLine(f(a, k)%(Math.Pow(10,9)+7));
            Console.ReadLine();
        }

        static long f(int[] T,int k)
        {
            long s = 0;
            if (k==0)
            {
                
                for (int i = 0; i < T.Length; i++)
                {
                    s += T[i];
                }
                return s;
            }

           
            for (int i = 0; i < T.Length; i++)
            {
                for (int j = i; j < T.Length; j++)
                {

                    s+=f(NoviNiz(T,i,j), k - 1);
                }
            }
            return s;


        }

        static int[] NoviNiz(int[] T, int i,int j)
        {
            int duzina = j - i + 1;
            int[] a = new int[duzina];

            for (int k = 0; k < duzina; k++)
            {
                a[k] = T[i++];
            }
            return a;
        }
    }
}