#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
const long long MOD = 1000000007;
int N, K;
string s;
long long fact[MAXN];
long long pow(long long base, long long exp) {
  if (exp == 0) return 1;
  long long hf = pow(base, exp / 2);
  hf = (hf * hf) % MOD;
  if (exp % 2) hf = (hf * base) % MOD;
  return hf;
}
long long inv(long long val) { return pow(val, MOD - 2); }
long long ncr(long long n, long long r) {
  if (n < 0) return 0;
  if (n == 0) return r == 0;
  if (r < 0 || r > n) return 0;
  long long num = fact[n];
  long long den = (fact[r] * fact[n - r]) % MOD;
  return (num * inv(den)) % MOD;
}
int main() {
  fact[0] = 1;
  for (int i = 1; i < MAXN; i++) fact[i] = (fact[i - 1] * i) % MOD;
  cin >> N >> K >> s;
  long long ans = 0;
  long long tmp = 0;
  for (int i = N - 1; i >= 0; i--) {
    long long dig = s[i] - '0';
    long long coeff = pow(10, N - 1 - i);
    long long ways = ncr(i, K);
    long long contr = dig * (coeff * ways % MOD) % MOD;
    ans = (ans + contr) % MOD;
    if (i < N - 1) {
      long long ocoff = pow(10, N - 2 - i);
      long long oways = ncr(i, K - 1);
      tmp = (tmp + (ocoff * oways % MOD)) % MOD;
      ans = (ans + (tmp * dig % MOD)) % MOD;
    }
  }
  cout << ans << endl;
}
