#include <bits/stdc++.h>
using namespace std;
int n, k, res, Sum[100000 + 5], Fac[100000 + 5], Inv[100000 + 5],
    Pow[100000 + 5];
char s[100000 + 5];
inline int power(int u, int v) {
  int res = 1;
  for (; v; v >>= 1) {
    if (v & 1) res = (long long)res * u % 1000000007;
    u = (long long)u * u % 1000000007;
  }
  return res;
}
inline int Com(int u, int v) {
  if (u < v) return 0;
  return (long long)Fac[u] * Inv[v] % 1000000007 * Inv[u - v] % 1000000007;
}
int main() {
  scanf("%d%d", &n, &k);
  if (k >= n) {
    puts("0");
    return 0;
  }
  scanf("%s", s + 1);
  Fac[0] = Inv[0] = Pow[0] = 1;
  for (int i = 1; i <= n; i++) {
    Sum[i] = Sum[i - 1] + s[i] - '0';
    Fac[i] = (long long)Fac[i - 1] * i % 1000000007;
    Pow[i] = (long long)Pow[i - 1] * 10 % 1000000007;
  }
  Inv[n] = power(Fac[n], 1000000007 - 2);
  for (int i = n - 1; i; i--)
    Inv[i] = (long long)Inv[i + 1] * (i + 1) % 1000000007;
  for (int i = n - 1; i >= 0; i--) {
    int t = n - i - 1, _res;
    if (i > 0) {
      _res = (long long)Sum[i] * Com(n - t - 2, k - 1) % 1000000007 * Pow[t] %
             1000000007;
      res = (res + _res) % 1000000007;
    }
    _res = (long long)(s[i + 1] - '0') * Com(n - t - 1, k) % 1000000007 *
           Pow[t] % 1000000007;
    res = (res + _res) % 1000000007;
  }
  printf("%d\n", res);
  return 0;
}
