#include <bits/stdc++.h>
using namespace std;
char rd[100009];
long long nums[100009], facs[100009], invf[100009], dp[100009];
long long n, k, cnt, mod = 1e9 + 7;
long long quick_power(long long n, long long k) {
  if (k == 1) return n;
  long long tmp = quick_power(n, k / 2);
  return k % 2 ? tmp * tmp % mod * n % mod : tmp * tmp % mod;
}
long long combinator(long long n, long long m) {
  return (n < 0 || m < 0 || n < m)
             ? 0
             : facs[n] * invf[m] % mod * invf[n - m] % mod;
}
int main() {
  scanf("%lld%lld", &n, &k);
  scanf("%s", rd);
  for (int i = 0; i < n; i++) nums[i + 1] = rd[i] - '0';
  facs[0] = invf[0] = 1;
  for (int i = 1; i <= n; i++) {
    facs[i] = (facs[i - 1] * i) % mod;
    invf[i] = quick_power(facs[i], mod - 2) % mod;
  }
  dp[0] = combinator(n - 2, k - 1);
  for (int i = 1; i <= n; i++)
    dp[i] =
        (dp[i - 1] + quick_power(10, i) * combinator(n - 2 - i, k - 1) % mod) %
        mod;
  cnt = nums[n] * combinator(n - 1, k) % mod;
  for (int i = 1; i < n; i++)
    cnt = (cnt + nums[i] *
                     (dp[n - i - 1] +
                      quick_power(10, n - i) * combinator(i - 1, k) % mod) %
                     mod) %
          mod;
  printf("%lld", cnt);
  return 0;
}
