#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void read(T& num) {
  bool start = false, neg = false;
  char c;
  num = 0;
  while ((c = getchar()) != EOF) {
    if (c == '-')
      start = neg = true;
    else if (c >= '0' && c <= '9') {
      start = true;
      num = num * 10 + c - '0';
    } else if (start)
      break;
  }
  if (neg) num = -num;
}
long long pow_mod(long long b, long long p, long long k) {
  long long res = 1;
  for (; p; p >>= 1) {
    if (p & 1) res = res * b % k;
    b = b * b % k;
  }
  return res;
}
const int maxn = (int)(1e5) + 5;
const int mo = (int)(1e9) + 7;
char s[maxn];
int ai[maxn];
long long bi[maxn], pw[maxn], si[maxn];
long long fac[maxn], ivf[maxn];
inline long long C(int n, int m) {
  if (n < 0 || m < 0 || n - m < 0) return 0;
  return (fac[n] * ivf[n - m] % mo) * ivf[m] % mo;
}
int main() {
  int n, m;
  read(n);
  read(m);
  scanf("%s", s + 1);
  for (int i = (1); i <= (n); i++) ai[i] = s[i] - '0';
  long long S = 1, X = pow_mod(10, mo - 2, mo);
  pw[0] = fac[0] = ivf[0] = 1;
  for (int i = (1); i <= (n); i++) fac[i] = fac[i - 1] * i % mo;
  ivf[n] = pow_mod(fac[n], mo - 2, mo);
  for (int i = (n - 1); i >= (1); i--) ivf[i] = ivf[i + 1] * (i + 1) % mo;
  for (int i = (1); i <= (n); i++) pw[i] = pw[i - 1] * X % mo;
  for (int i = (n); i >= (1); i--) {
    bi[i] = (bi[i + 1] + ai[i] * S) % mo;
    S = S * 10 % mo;
    si[i] = (si[i + 1] + ai[i]) % mo;
  }
  long long now = 0;
  for (int i = (2); i <= (n - 1); i++) (now += ai[i]) %= mo;
  int cnt = 0;
  long long res = 0;
  for (int i = (n - 1); i >= (2); i--) {
    ++cnt;
    (res += C(n - cnt - 2, m - 2) * now) %= mo;
    (now += (mo - bi[i] + bi[n]) * X) %= mo;
    now = (now * 10 + si[cnt + 2] - si[n] + mo) % mo;
  }
  now = ai[1];
  cnt = 0;
  for (int i = (1); i <= (n - 1); i++) {
    ++cnt;
    (res += C(n - cnt - 1, m - 1) * now) %= mo;
    now = (now * 10 + ai[cnt + 1]) % mo;
  }
  now = ai[n];
  cnt = 0;
  S = 1;
  for (int i = (n); i >= (2); i--) {
    ++cnt;
    (res += C(n - cnt - 1, m - 1) * now) %= mo;
    S = S * 10 % mo;
    (now += S * ai[n - cnt]) %= mo;
  }
  (res += C(n - n, m) * bi[1]) %= mo;
  printf("%d\n", (int)res);
  return 0;
}
