#include <bits/stdc++.h>
using namespace std;
int mod = 1e9 + 7;
long long powmod(long long a, long long b) {
  long long res = 1;
  if (a >= mod) a %= mod;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a;
    if (res >= mod) res %= mod;
    a = a * a;
    if (a >= mod) a %= mod;
  }
  return res;
}
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
string s;
long long f[100000 + 5], ivf[100000 + 5];
long long C(int n, int r) {
  if (n < r || r < 0) return 0;
  return f[n] * ivf[r] % mod * ivf[n - r] % mod;
}
long long sum[100000 + 5];
int main() {
  int i;
  f[0] = ivf[0] = f[1] = ivf[1] = 1;
  for (i = 2; i <= 100000; i++) {
    f[i] = f[i - 1] * i;
    if (f[i] >= mod) f[i] %= mod;
    ivf[i] = ((mod / i) * ivf[mod % i]) % mod;
    if (ivf[i] != 0) ivf[i] = mod - ivf[i];
  }
  for (i = 2; i <= 100000; i++) {
    ivf[i] = ivf[i - 1] * ivf[i];
    if (ivf[i] >= mod) ivf[i] %= mod;
  }
  int n, k;
  long long po = 1;
  cin >> n >> k;
  cin >> s;
  sum[0] = C(n - 2, k - 1);
  for (i = 1; i < n; i++) {
    po = po * 10;
    if (po >= mod) po %= mod;
    sum[i] = sum[i - 1] + po * C(n - 2 - i, k - 1) % mod;
    if (sum[i] >= mod) sum[i] -= mod;
  }
  long long ans = 0;
  for (i = 0; i < n - 1; i++) {
    ans = (ans + (s[i] - '0') * sum[n - i - 2]);
    if (ans >= mod) ans %= mod;
  }
  po = 1;
  for (i = n - 1; i >= 0; i--) {
    ans = (ans + (s[i] - '0') * (C(i, k) * po % mod));
    if (ans >= mod) ans %= mod;
    po = po * 10;
    if (po >= mod) po %= mod;
  }
  cout << ans << '\n';
  return 0;
}
