#include <bits/stdc++.h>
const int p = 1000000007;
char c[120000];
int h[120000], q[120000], v[120000];
int i, m, n, s, t;
inline int power(int x, int y) {
  if (!y) return 1;
  int t = power(x, y / 2);
  t = 1LL * t * t % p;
  if (y & 1) t = 1LL * t * x % p;
  return t;
}
inline void pre() {
  q[0] = 1;
  for (i = 1; i <= n; i++) q[i] = 10LL * q[i - 1] % p;
  h[0] = 1;
  for (i = 1; i <= n; i++) h[i] = 1LL * i * h[i - 1] % p;
  v[n] = power(h[n], p - 2);
  for (i = n - 1; i >= 0; i--) v[i] = 1LL * v[i + 1] * (i + 1) % p;
  return;
}
inline int C(int x, int y) {
  if (x < y)
    return 0;
  else
    return 1LL * v[y] * v[x - y] % p * h[x] % p;
}
int main() {
  scanf("%d%d", &n, &m);
  getchar();
  gets(c + 1);
  pre();
  for (i = n; i > 0; i--) {
    t = (t + 1LL * C(i - 1, m) * q[n - i]) % p;
    if (i < n) t = (t + p - 1LL * C(i, m) * q[n - i - 1] % p) % p;
    t = (t + 1LL * C(i - 1, m - 1) * q[n - i - 1]) % p;
    s = (s + 1LL * t * (c[i] - 48)) % p;
  }
  printf("%d", s);
  return 0;
}
