#include <bits/stdc++.h>
using namespace std;
long long T[101111], C[101111], CC[101111], H[101111], AC[101111];
long long n, k;
char p[101111];
long long power(long long a, long long b) {
  long long res = 1;
  while (b) {
    if (b & 1) res = res * a % 1000000007;
    b >>= 1;
    a = a * a % 1000000007;
  }
  return (int)res;
}
void Prepare() {
  H[0] = 1;
  for (long long i = 1; i <= n + 10; i++) H[i] = H[i - 1] * 10 % 1000000007;
  C[k] = 1;
  CC[k + 1] = 1;
  for (long long i = k + 1; i <= n; i++)
    C[i] =
        C[i - 1] * i % 1000000007 * power(i - k, 1000000007 - 2) % 1000000007;
  for (long long i = k + 2; i <= n; i++)
    CC[i] = CC[i - 1] * i % 1000000007 * power(i - (k + 1), 1000000007 - 2) %
            1000000007;
  if (k == 0) {
    for (long long i = 0; i <= n; i++) C[i] = 1;
    for (long long i = 0; i <= n; i++) CC[i] = i;
  }
  for (long long i = 0; i <= n; i++) {
    T[i] = C[i];
    C[i] = C[i] * H[n - i - 2] % 1000000007;
  }
  AC[0] = C[0];
  for (long long i = 1; i <= n; i++) AC[i] = (AC[i - 1] + C[i]) % 1000000007;
}
long long C2(long long l) {
  if (l < 0) return 0;
  return CC[l];
}
long long Ask(long long l, long long r) {
  if (r < l) return 0;
  if (l <= 0) return AC[r];
  return (AC[r] - AC[l - 1]) % 1000000007;
}
int main() {
  scanf("%I64d%I64d", &n, &k);
  scanf("%s", p + 1);
  k--;
  for (long long i = 1; i <= n; i++) p[i] -= '0';
  for (long long i = 1; i <= n / 2; i++) swap(p[i], p[n - i + 1]);
  Prepare();
  if (k == -1) {
    long long res = 0;
    for (long long i = 1; i <= n; i++) {
      res += H[i - 1] * p[i] % 1000000007;
      res %= 1000000007;
    }
    printf("%I64d\n", res);
    return 0;
  }
  long long res = 0;
  for (long long i = 1; i < n; i++) {
    res += Ask(n - i, n - 2) * p[i] % 1000000007;
    res %= 1000000007;
    res += C2(n - i) * H[i - 1] % 1000000007 * p[i] % 1000000007;
    res %= 1000000007;
  }
  for (long long i = 2; i <= n; i++) {
    res += T[i - 2] * H[n - i] % 1000000007 * p[n] % 1000000007;
    res %= 1000000007;
  }
  printf("%I64d\n", (res + 1000000007) % 1000000007);
  return 0;
}
