#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int fpm(int x, int e) {
  int a = 1;
  for (; e; e >>= 1) {
    if (e & 1) a = (long long)a * x % MOD;
    x = (long long)x * x % MOD;
  }
  return a;
}
const int MAX_N = 1e5 + 5;
int fac[MAX_N];
int rfac[MAX_N];
inline int comb(int n, int r) {
  if (r < 0 || r > n) return 0;
  return (long long)fac[n] * rfac[n - r] % MOD * rfac[r] % MOD;
}
int main() {
  fac[0] = rfac[0] = 1;
  for (int i = 1; i < MAX_N; ++i) {
    fac[i] = ((long long)fac[i - 1] * i) % MOD;
    rfac[i] = fpm(fac[i], MOD - 2);
  }
  static int n, k;
  static char s[MAX_N];
  scanf("%d%d%s", &n, &k, &s[1]);
  long long ans = 0, coef = 0, ten = 1;
  for (int i = n; i >= 1; --i) {
    (ans += (s[i] - '0') * (coef + ten * comb(i - 1, k) % MOD)) %= MOD;
    (coef += ten * comb(i - 2, k - 1)) %= MOD;
    (ten *= 10) %= MOD;
  }
  printf("%d\n", (int)ans);
  return 0;
}
