#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5, mod = 1e9 + 7;
int n, k;
long long F[maxn], Ft[maxn];
long long a[maxn], f[maxn];
long long fastmod(long long x, long long p) {
  long long res = 1;
  while (p) {
    if (p & 1) res = (res * x) % mod;
    x = (x * x) % mod;
    p >>= 1;
  }
  return res % mod;
}
void init() {
  F[0] = 1;
  for (long long i = 1; i <= maxn - 5; ++i) F[i] = F[i - 1] * i % mod;
  Ft[maxn - 5] = fastmod(F[maxn - 5], mod - 2);
  for (long long i = maxn - 6; i >= 0; --i) {
    Ft[i] = Ft[i + 1] * (i + 1) % mod;
  }
}
long long C(int x, int y) {
  if (x < y) return 0;
  return F[x] * Ft[y] % mod * Ft[x - y] % mod;
}
int main() {
  init();
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; ++i) {
    scanf("%1lld", &a[i]);
    f[i] = f[i - 1] + a[i];
  }
  long long base = 1;
  long long ans = 0;
  for (int i = 1; i <= n - k; ++i) {
    ans += base *
           ((f[n - i] * C(n - 1 - i, k - 1) % mod +
             C(n - i, k) * a[n - i + 1] % mod) %
            mod) %
           mod;
    ans %= mod;
    base *= 10;
    base %= mod;
  }
  printf("%lld\n", ans % mod);
  return 0;
}
