#include <iostream>
#include <cmath>
using namespace std;

int main(int argc, char *argv[])
{
	int N, k;
	long z0, z1;
	z0 = 0;
	z1 = 0;
	cin>>N>>k;
	long long a[N];
	for (int i = 0; i < N; i++)
	{
		cin>>a[i];
	}
	long long m = pow(10,9) + 7;
	
	if (k == 0)
	{
		for (int i = 0; i < N; i++)
		{
			z0 += a[i];
		}
		cout<<z0%m;
	}
	else if (k == 1)
	{
		for(int i = 0; i < N; i++)
		{
			z1 = z1 + ((i+1)*(N-i)*a[i]);
		}
		cout<<z1%m;
	}
		
		
}