#include <iostream>
#include <vector>

using namespace std;

long long b = 1000000007;

int f0(vector<long long> a){
    long long z = 0;
    for (int i = 0; i < a.size(); i++)
        z = z + a[i];
    return z % b;
}

int f(vector<long long> a){
    long long z = 0;
        for (int i = 0; i < a.size(); i++){
            for (int k = 0; k < a.size(); k++){
                for (int j = k; j <= i; j++){
                    z = z + a[j];
                }
            }
        }
        return z % b;
}

int main()
{
    long long z = 0;
    int n, k;
    cin >> n >> k;
    vector<long long> a(n);
    for (int i = 0; i < n; i++)
        cin >> a[i];
    if (k == 0) z = f0(a);
    else z = f(a);
    cout << z;
	return 0;
}