#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1000000007;
long long int ex[100010];
char str[100010];
long long int d[100010];
long long int sum[100010];
long long int bikkuri[100010];
long long int modpow(long long int x, long long int k) {
  long long int res = 1;
  while (k > 0) {
    if (k % 2 == 1) {
      res *= x;
      res %= MOD;
    }
    x *= x;
    x %= MOD;
    k /= 2;
  }
  return res;
}
long long int ncr(long long int n, long long int r) {
  long long int res = bikkuri[n];
  res *= modpow(bikkuri[r], MOD - 2);
  res %= MOD;
  res *= modpow(bikkuri[n - r], MOD - 2);
  return res % MOD;
}
int main() {
  bikkuri[0] = 1;
  for (int i = 1; i < 100010; i++) bikkuri[i] = (bikkuri[i - 1] * i) % MOD;
  int n, k;
  scanf("%d %d\n", &n, &k);
  scanf("%s", str);
  for (int i = 0; i < n; i++) d[i] = (long long int)(str[i] - '0');
  sum[0] = d[0];
  for (int i = 1; i < n; i++) sum[i] = sum[i - 1] + d[i];
  long long int ans = 0;
  long long int kur = 1;
  for (int i = 0; i < n - k; i++) {
    ans += ((sum[n - 2 - i] * kur) % MOD) * ncr(n - 2 - i, k - 1);
    ans %= MOD;
    kur *= 10;
    kur %= MOD;
  }
  kur = 1;
  for (int i = n - 1; i >= k; i--) {
    ans += ((d[i] * kur) % MOD) * ncr(i, k);
    ans %= MOD;
    kur *= 10;
    kur %= MOD;
  }
  printf("%I64d\n", ans);
  return 0;
}
