#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 5;
const long long p = 1e9 + 7;
long long powers[MAXN], fact[MAXN], invfact[MAXN], coef[MAXN];
long long modpow(long long x, long long k) {
  if (k == 0) return 1;
  long long h = modpow(x, k / 2);
  if (k % 2 == 0)
    return (h * h) % p;
  else
    return (((h * h) % p) * x) % p;
}
long long binom(long long n, long long k) {
  if (k > n) return 0;
  return ((fact[n] * invfact[n - k])) % p * invfact[k] % p;
}
int main() {
  long long n, k;
  cin >> n >> k;
  powers[0] = 1;
  for (long long i = 1; i < MAXN; ++i) powers[i] = (10 * powers[i - 1]) % p;
  fact[0] = 1;
  invfact[0] = 1;
  for (long long i = 1; i < MAXN; ++i) {
    fact[i] = (i * fact[i - 1]) % p;
    invfact[i] = modpow(fact[i], p - 2);
  }
  coef[0] = binom(n - 1, k);
  for (long long i = 1; i < n; ++i) {
    long long x = coef[i - 1] + (p - (powers[i - 1] * binom(n - i, k)) % p);
    x %= p;
    x += powers[i - 1] * binom(n - i - 1, k - 1);
    x %= p;
    x += powers[i] * binom(n - i - 1, k);
    x %= p;
    coef[i] = x;
  }
  long long sum = 0;
  string g;
  cin >> g;
  for (long long i = 0; i < n; ++i) {
    sum += (g[i] - '0') * coef[n - 1 - i];
    sum %= p;
  }
  cout << sum << endl;
}
