func_code_string: #include <bits/stdc++.h>   using namespace std;   const int mod = 1000000007;   const int N = 100010;   char s[N];   int fac[N], inv[N], sum[N];   long long mpow(long long a, long long b) {     long long ans = 1;     while (b) {       if (b & 1) ans = ans * a % mod;       a = a * a % mod;       b >>= 1;     }     return ans;   }   long long com(int n, int m) {     if (n < m) return 0;     return 1LL * fac[n] * inv[m] % mod * inv[n - m] % mod;   }   int main() {     int n, m;     scanf( %d%d , &n, &m);     scanf( %s , s + 1);     inv[0] = fac[0] = 1;     for (int i = 1; i <= n; i++) {       fac[i] = 1LL * fac[i - 1] * i % mod;       inv[i] = mpow(fac[i], mod - 2);       sum[i] = sum[i - 1] + s[i] -  0 ;     }     long long ans = 0;     for (int i = 1, base = 1; i <= n - m; i++, base = 10LL * base % mod) {       ans = (ans + com(n - i - 1, m - 1) * sum[n - i] % mod * base) % mod;       ans = (ans + com(n - i, m) * (s[n - i + 1] -  0 ) % mod * base) % mod;     }     cout << ans << endl;     return 0;   }   