using System;

namespace ConsoleApp34
{
    class Program
    {
        static long Saberi(string[] s, long i, long j)
        {
            if (i == j)
                return 0;
            return Saberi(s, i + 1, j) + long.Parse(s[i]);
        }
        static long Saberi2(string[] s, long i, long j, long k, long p)
        {
            long p1 = 0;
            if (k == 0)
                return Saberi(s, i, j) % 1000000007;
            for (long v = i; v < j; v++)
            {
                for (long w = v + 1; w <= j ; w++)
                {
                    p1+= Saberi2(s, v, w, k - 1, p) ;
                }
            }
            return p+p1;
        }
        static void Main(string[] args)
        {
            string[] s = Console.ReadLine().Split();
            long n = long.Parse(s[0]);
            long k = long.Parse(s[1]); long p = 0;
            s = Console.ReadLine().Split();
            if (k == 0)
            {
                p = Saberi(s, 0, s.Length) % 1000000007;
            }
            if (k == 1)
            {
                for (int i = 0; i < n; i++)
                {
                    for (int j = i + 1; j < n + 1; j++)
                    {
                        p += Saberi(s, i, j);
                    }
                }
            }
            if (k > 1)
            {
                p = Saberi2(s, 0, n, k, 0) % 1000000007;
            }
            Console.WriteLine(p);
        }
    }
}