#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007LL;
long long val[100010], sum[100010], c[100010], c2[100010];
int k, n;
long long gcd(long long a, long long b, long long &x, long long &y) {
  long long ret, t;
  if (b == 0) {
    x = 1;
    y = 0;
    return a;
  }
  ret = gcd(b, a % b, x, y);
  t = x;
  x = y;
  y = t - (a / b) * y;
  return ret;
}
long long inv(long long b, long long mod) {
  long long x, y;
  if (gcd(b, mod, x, y) > 1) return -1;
  return (x % mod + mod) % mod;
}
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; i++) {
    char c;
    scanf(" %c", &c);
    val[i] = c - '0';
  }
  for (int i = 1; i <= n; i++) sum[i] = (sum[i - 1] + val[i]) % MOD;
  c[1] = c2[1] = 1;
  for (int i = 2; i <= n - k; i++) {
    c[i] = c[i - 1] * (k - 2 + i) % MOD * inv(i - 1, MOD) % MOD;
    c2[i] = c2[i - 1] * (k + i - 1) % MOD * inv(i - 1, MOD) % MOD;
  }
  long long ans = 0;
  long long d = 1;
  for (int i = 1; i <= n - k; i++) {
    ans += sum[n - i] * c[n - k + 1 - i] % MOD * d % MOD;
    ans %= MOD;
    ans += val[n - i + 1] * c2[n - k + 1 - i] % MOD * d % MOD;
    ans %= MOD;
    d = d * 10 % MOD;
  }
  printf("%I64d\n", ans);
}
