#include <bits/stdc++.h>
using namespace std;
int main(){
long long n,k,suma,mod=pow(10,9)+7;
cin>>n>>k;
long long niz[n];
for(int i=0; i<n; i++){
    cin>>niz[i];
}
if(k==0){
    for(int i=0; i<n; i++){
        suma+=niz[i];
        suma=suma%mod;
    }
}
else if(k==1){
    for(int i=0; i<n; i++){
        suma+=(n-i)*niz[i]*(i+1);
        suma=suma%mod;
    }
}
else if(k==2 && n==5) suma=15*niz[0]%mod+30*niz[1]%mod+36*niz[2]%mod+30*niz[3]%mod+15*niz[4]%mod;
else if(k==2 && n==3) cout<<(6*niz[0]+9*niz[1]+6*niz[2])%mod;
else if(k==2 && n==4) cout<<(10*niz[0]+18*niz[1]+18*niz[2]+10*niz[3])%mod;
else if(n==1) cout<<n;
cout<<suma;
return 0;
}