#include <iostream>
#include <cmath>

using namespace std;

const int modul = pow(10, 9) +7;
int pozicije[200001];
int pomocni[200001];

/*int[] RazvijPozicije(int[] pozicije)
{
    for(int i=0; i < (sizeof(pozicije)/ sizeof(pozicije[0])); i++)
}*/
void f(int a[], int n, int k)
{
    if (k == 0)
    {
        int zbir=0;
        for (int i=0; i < n; i++)
        {
            zbir += a[i];
            zbir %= modul;
        }

        cout << zbir << endl;

        return;
    }
    if (k == 1)
    {
        int zbir=0;
        for(int i=0; i < n; i++)
        {
            zbir += (n-i) * a[i] * (i+1);
            zbir %= modul;
        }

        cout << zbir << endl;

        return;
    }
    /*for(int i=0; i < k; i++)
    {
        pozicije = RazvijPozicije(pozicije);
    }*/

}

int main()
{
    int n, k;

    cin >> n >> k;

    int a[n];

    for(int i=0; i < n; i++)
    {
        cin >> a[i];
    }

    f(a, n, k);
    return 0;
}