#include <bits/stdc++.h>
using namespace std;
const int M = 100001, P = 1e9 + 7;
int n, k, Pow[M], ji[M], ni[M], sum[M];
char a[M];
int Fast(int a, int b) {
  int res = 1;
  while (b) {
    if (b & 1) res = res * 1ll * a % P;
    b >>= 1;
    a = a * 1ll * a % P;
  }
  return res;
}
int main() {
  scanf("%d%d", &n, &k);
  scanf("%s", a + 1);
  Pow[0] = ji[0] = 1;
  for (int i = 1; i <= n; i++) Pow[i] = Pow[i - 1] * 10ll % P;
  for (int i = 1; i <= n; i++) ji[i] = ji[i - 1] * 1ll * i % P;
  for (int i = 0; i <= n; i++) ni[i] = Fast(ji[i], P - 2);
  for (int i = 1; i <= n; i++) {
    int a = n - i - 1, b = k - 1;
    if (a < b || b < 0) break;
    int c = a - b;
    sum[i] = ji[a] * 1ll * ni[b] % P * 1ll * ni[c] % P * 1ll * Pow[i - 1] % P;
  }
  for (int i = 1; i <= n; i++) sum[i] = (sum[i] + sum[i - 1]) % P;
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    int t = a[i] - '0';
    ans = (ans + t * 1ll * sum[n - i]) % P;
    int w = n - i + 1;
    int a = n - w, b = k;
    if (a < b || b < 0) continue;
    int c = a - b;
    ans = (ans + t * 1ll * ji[a] % P * 1ll * ni[b] % P * 1ll * ni[c] % P * 1ll *
                     Pow[w - 1] % P) %
          P;
  }
  printf("%d\n", ans);
}
