func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long p = 1000000007;   char s[100005];   long long w[100005];   long long te[100005] = {1};   void build() {     for (int i = 1; i <= 100000; i++) {       te[i] = (te[i - 1] * 10) % p;     }   }   long long quick_mod(long long a, long long b) {     long long ans = 1;     a %= p;     while (b) {       if (b & 1) {         ans = ans * a % p;         b--;       }       b >>= 1;       a = a * a % p;     }     return ans;   }   long long C(long long n, long long m) {     if (m > n) return 0;     long long ans = 1;     for (int i = 1; i <= m; i++) {       long long a = (n + i - m) % p;       long long b = i % p;       ans = ans * (a * quick_mod(b, p - 2) % p) % p;     }     return ans;   }   int main() {     build();     long long n, k;     scanf( %I64d%I64d , &n, &k);     scanf( %s , s);     long long ans = 0;     w[n - 1] = C(n - 1, k);     long long t = w[n - 1];     for (int i = n - 1; i >= 1; i--) {       t = t * ((i - k) * quick_mod(i, p - 2) % p) % p;       w[i - 1] = (w[i] + (te[n - i - 1] * t) % p * 9) % p;     }     for (int i = 0; i < n; i++) ans = (ans + w[i] * (s[i] -  0 )) % p;     printf( %I64d , ans);     return 0;   }   