#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000 * 1000 * 1000LL + 7;
const int N = 100100;
long long fct[N], rfct[N], pw[N];
long long c(int r, int n) { return fct[n] * rfct[r] % MOD * rfct[n - r] % MOD; }
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int n, k;
  string s;
  cin >> n >> k >> s;
  if (n == 1) {
    cout << s << endl;
    return 0;
  }
  fct[0] = pw[0] = 1;
  for (int i = 1; i <= n; i++) {
    fct[i] = (fct[i - 1] * i) % MOD;
    pw[i] = (pw[i - 1] * 10) % MOD;
  }
  for (int i = 0; i < n; i++) {
    long long tmp = fct[i];
    rfct[i] = 1;
    for (int j = 0; j < 30; j++) {
      if (((1 << j) & (MOD - 2))) rfct[i] = (rfct[i] * tmp) % MOD;
      tmp = (tmp * tmp) % MOD;
    }
  }
  long long tmp = c(k, n - 1), ans = (tmp * (s[n - 1] - '0')) % MOD;
  for (int i = 1; i < n; i++) {
    if (n - i - 1 >= k) {
      tmp = (tmp + (c(k - 1, n - i - 1) - c(k, n - i)) * pw[i - 1] +
             c(k, n - i - 1) * pw[i]) %
            MOD;
      tmp = (tmp + MOD) % MOD;
    }
    ans = (ans + tmp * (s[n - i - 1] - '0')) % MOD;
  }
  cout << ans << endl;
  return 0;
}
