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 s = Console.ReadLine();
            List<int> lista = new List<int>();
            int n = int.Parse(s.Split(' ')[0]);
            int k = int.Parse(s.Split(' ')[1]);
            s = Console.ReadLine();
            for(int i = 0; i < n; i++)
            {
                lista.Add(int.Parse(s.Split(' ')[i]));
            }
            Console.WriteLine(F(lista, k) % (Math.Pow(10, 9) + 7));
            Console.ReadLine();
        }

        static int F(List<int> lista, int k)
        {
            int zbir = 0;
            if (k == 0)
            {
                for (int i = 0; i < lista.Count; i++)
                {
                    zbir += lista.ElementAt(i);
                }
                return zbir;
            }
            else
            {
                List<int> nova = new List<int>();
                for (int g = 0; g < lista.Count; g++)
                {
                    for (int i = 0; i < lista.Count; i++)
                    {
                        for (int j = g; j < lista.Count - (lista.Count - i) + 1; j++)
                        {
                            nova.Add(lista.ElementAt(j));
                        }
                        zbir = (F(nova, k - 1));
                    }
                }
                return zbir;
            }
            
        }
    }
}