#include <cstdio>
#include <algorithm>
#include <vector>
#include <cmath>

using namespace std;

long long prvi(vector <int> ::iterator it,int n){
    long long sum = 0;
        for(int i = 0; i <= n ; i++){
            sum += *(it+i);
        }
    
    return sum;
    
}

int main(){
    vector <int> A;
    int n,k,v,exp = pow(10,9)+7;
    long long res = 0;;
    vector <int> ::iterator it;

    scanf("%d%d",&n,&k);

    for(int i = 0; i < n; i++){
        scanf("%d",&v);
        A.push_back(v);
    }

    it = A.begin();

    if(k == 0){
        res = prvi(it,n-1);
    } else {
        for(int i = 0;i < A.size();i++){
            it = A.begin()+i;
            for(int j = 0; j < A.size()-i; j++){
                res += prvi(it,j);
            }
        }
    }
    res = res % exp;
    printf("%lld",res);

    return 0;
}