#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5, mod = 1e9 + 7;
long long n, k, fac[maxn + 101], inv[maxn + 101], temp, t, jam[maxn + 10], ans,
    x1, x2;
string s;
long long power(long long x, long long y) {
  if (y == 0) {
    return 1;
  }
  long long temp;
  temp = power(x, y / 2);
  temp = (temp * temp) % mod;
  if (y % 2 == 1) {
    temp = (temp * x) % mod;
  }
  return temp;
}
long long intkh(long long a, long long b) {
  return ((((fac[a] * inv[b]) % mod) * inv[a - b]) % mod);
}
void pre() {
  fac[0] = 1;
  for (int i = 1; i <= maxn; i++) {
    fac[i] = (fac[i - 1] * i) % mod;
  }
  inv[maxn] = power(fac[maxn], mod - 2);
  for (int i = maxn - 1; i >= 0; i--) {
    inv[i] = (inv[i + 1] * (i + 1)) % mod;
  }
  return;
}
int main() {
  pre();
  cin >> n >> k;
  cin >> s;
  jam[0] = s[0] - '0';
  for (int i = 1; i < n; i++) {
    jam[i] = (jam[i - 1] + s[i] - '0') % mod;
  }
  for (int i = 1; i <= n - k; i++) {
    x1 = ((s[n - i] - '0') * intkh(n - i, k)) % mod;
    x2 = (jam[n - i - 1] * intkh(n - i - 1, k - 1)) % mod;
    ans = (ans + ((power(10, i - 1) * (x1 + x2)) % mod)) % mod;
  }
  cout << ans << endl;
  return 0;
}
