#include <iostream>
#include <vector>

using namespace std;

int sum(vector<int> A){
    long long result = 0;
    int modulo = 1000000007;
    for (int i = 0; i < A.size(); i++) {
            result += A.at(i);
            result %= modulo;
    }
    return result;
}

int f(vector<int> T, int k){
    if(k == 0) return sum(T);
    else {
        int result = 0;
        for(int i = 0; i < T.size(); i++){
            vector<int> temp;
            for(int y = i; y < T.size(); y++){
                temp.push_back(T.at(y));
                result += f(temp, k-1);
            }
        }
        return result;
    }
}

int main()
{
    int N, k;
    cin >> N >> k;
    vector<int> A;
    for(int i = 0; i < N; i++){
        int temp;
        cin >> temp;
        A.push_back(temp);
    }
    cout << f(A, k);
    return 0;
}