#include <bits/stdc++.h>
using namespace std;
vector<long long> inv(100001);
vector<long long> nck(100001);
vector<long long> nck1(100001);
vector<long long> val(100001);
vector<long long> sum(100001);
vector<long long> fac(100001);
long long mod = 1000000007;
long long pw(long long x, long long p) {
  if (p == 0) return 1;
  if (p == 1) return x;
  long long temp = pw(x, p / 2);
  temp = (temp * temp) % mod;
  if (p % 2 == 0) return temp;
  temp = (x * temp) % mod;
  return temp;
}
void calc(int n, int k) {
  inv[1] = 1;
  fac[0] = 1;
  for (int i = 1; i <= n; i++) fac[i] = (fac[i - 1] * 10) % mod;
  for (int i = 2; i <= n; i++) {
    inv[i] = pw(i, mod - 2);
  }
  for (int i = 0; i < k; i++) nck[i] = 0;
  nck[k] = 1;
  for (int i = 0; i <= k; i++) nck1[i] = 0;
  nck1[k + 1] = 1;
  for (int i = k + 1; i <= n; i++) {
    nck[i] = (nck[i - 1] * i) % mod;
    long long temp = inv[i - k];
    nck[i] = (nck[i] * temp) % mod;
  }
  for (int i = k + 2; i <= n; i++) {
    nck1[i] = (nck1[i - 1] * i) % mod;
    long long temp = inv[i - k - 1];
    nck1[i] = (nck1[i] * temp) % mod;
  }
  long long fc = 1;
  val[n - 2] = (nck[n - 2] * fc) % mod;
  for (int i = n - 3; i >= 0; i--) {
    fc = (10 * fc) % mod;
    val[i] = (fc * nck[i]) % mod;
  }
  sum[0] = val[0];
  for (int i = 1; i <= n - 2; i++) {
    sum[i] = (val[i] + sum[i - 1]) % mod;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  calc(n, k - 1);
  long long ans = 0;
  for (int i = 0; i < s.size() - 1; i++) {
    int d = int(s[i] - '0');
    if (d == 0) continue;
    int mx = s.size() - i - 2;
    long long temp = sum[n - 2];
    if (i > 0) temp = (temp + mod - sum[i - 1]) % mod;
    temp = (temp * d) % mod;
    ans = (ans + temp) % mod;
  }
  for (int i = 0; i < s.size() - 1; i++) {
    int d = int(s[i] - '0');
    if (d == 0) continue;
    int rem = i;
    long long temp = nck1[i];
    long long ff = (fac[n - i - 1] * d) % mod;
    temp = (temp * ff) % mod;
    ans = (ans + temp) % mod;
  }
  int d = int(s[s.size() - 1] - '0');
  long long temp = d;
  temp = (temp * nck1[n - 1]);
  ans = (ans + temp) % mod;
  cout << ans << endl;
}
