#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, P = 1e9 + 7;
long long n, k, fac[N], inv[N], dp[N], ans;
string s;
long long power(long long a, long long b) {
  if (b < 2) return (b ? a : 1);
  long long t = power(a, b / 2);
  return t * t % P * (b & 1 ? a : 1) % P;
}
long long choose(long long a, long long b) {
  if (b > a || b < 0) return 0;
  return fac[a] * inv[b] % P * inv[a - b] % P;
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  cin >> n >> k >> s;
  fac[0] = inv[0] = 1;
  for (int i = 1; i < N; i++)
    inv[i] = power(fac[i] = fac[i - 1] * i % P, P - 2);
  dp[0] = choose(n - 2, k - 1);
  for (long long i = 1, p = 10; i < N; i++, (p *= 10) %= P)
    dp[i] = (dp[i - 1] + choose(n - 2 - i, k - 1) * p % P) % P;
  ans = choose(n - 1, k) * (s[n - 1] - '0') % P;
  for (int i = n - 2; ~i; i--)
    (ans += (s[i] - '0') *
            ((choose(i, k) * power(10, n - 1 - i) % P + dp[n - 2 - i]) % P) %
            P) %= P;
  cout << ans << endl;
}
