#include <bits/stdc++.h>
using namespace std;
const long long N = 5e5 + 5, MOD = 1e9 + 7;
long long n, m, ans, x, a, b, now;
long long num[N], bin[N], inv[N], p[N], sum[N];
inline long long power(long long a, long long n) {
  long long res = 1;
  while (n) {
    if (n & 1) res = res * a % MOD;
    a = a * a % MOD;
    n >>= 1;
  }
  return res;
}
long long C(long long x, long long y) {
  if (x < 0 || y < 0) return 0;
  if (x < y) return 0;
  return bin[x] * inv[y] % MOD * inv[x - y] % MOD;
}
signed main() {
  scanf("%lld%lld", &n, &m);
  for (register long long i = 1; i <= n; ++i) scanf("%1lld", &num[i]);
  for (register long long i = 1; i <= n; ++i) sum[i] = sum[i - 1] + num[i];
  bin[0] = bin[1] = 1;
  for (register long long i = 2; i <= n; ++i) bin[i] = (bin[i - 1] * i) % MOD;
  inv[n] = 1ll * power(bin[n], MOD - 2ll);
  inv[0] = 1;
  for (register long long i = n - 1; i >= 1; --i)
    inv[i] = inv[i + 1] * (i + 1) % MOD;
  p[1] = 1;
  for (register long long i = 2; i <= n; ++i) p[i] = p[i - 1] * 10 % MOD;
  for (register long long i = 1; i < n; ++i)
    ans = (ans + p[n - i] * sum[i] % MOD * C(i - 1, m - 1) % MOD) % MOD;
  for (register long long i = 1; i <= n; ++i)
    ans = (ans + num[i] * p[n - i + 1] % MOD * C(i - 1, m) % MOD) % MOD;
  printf("%lld\n", ans);
  return 0;
}
