#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
int n, k;
char as[100005];
long long sum[100005], ni[100005], mul[100005], mu[100005];
long long C(int a, int b) { return mul[a] * ni[b] % INF * ni[a - b] % INF; }
int main() {
  cin >> n >> k;
  scanf("%s", as + 1);
  mul[0] = 1;
  for (int q(1); q <= n; ++q) mul[q] = mul[q - 1] * q % INF;
  ni[0] = ni[1] = 1;
  for (int q(2); q <= n; ++q) ni[q] = (INF - INF / q) * ni[INF % q] % INF;
  for (int q(1); q <= n; ++q) ni[q] = ni[q] * ni[q - 1] % INF;
  mu[0] = 1;
  for (int q(1); q <= n; ++q)
    if (n - q - 1 >= k - 1)
      sum[q] = mu[q - 1] * C(n - q - 1, k - 1) % INF,
      mu[q] = mu[q - 1] * 10 % INF;
  for (int q(1); q <= n; ++q) sum[q] = (sum[q] + sum[q - 1]) % INF;
  long long ans = 0;
  for (int q(1); q <= n; ++q)
    ans += (as[q] - 48) *
           (sum[n - q] + mu[n - q] * (q - 1 >= k ? C(q - 1, k) : 0) % INF) %
           INF;
  cout << ans % INF;
  return 0;
}
