#include <bits/stdc++.h>
using namespace std;
long long p[105];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long k, sum = 0;
  string s;
  cin >> s;
  cin >> k;
  if (k == 1) {
    cout << (s[0] - 48) + (s.size() - 1) * 9;
    return 0;
  }
  if (k == 2) {
    for (int i = 2; i < s.size(); ++i) {
      sum += 9 * 9 * (i - 1);
      sum %= 1000000007;
    }
    sum += (s[0] - 49) * 9 * (s.size() - 1);
    sum %= 1000000007;
    sum += (s[1] - 48);
    sum %= 1000000007;
    if (s.size() > 1) sum += 9 * (s.size() - 2);
    sum %= 1000000007;
    cout << sum;
    return 0;
  }
  if (k == 3) {
    p[2] = 1;
    for (int i = 3; i <= 101; ++i) p[i] = p[i - 1] + i - 1;
    for (int i = 3; i < s.size(); ++i) {
      sum += 9 * 18 * p[i - 1];
      sum %= 1000000007;
    }
    sum += (s[0] - 49) * 18 * p[s.size() - 1];
    sum %= 1000000007;
    for (int i = 1; i < s.size(); ++i) {
      if (s.size() > i and s[i] - 48 > 0) {
        sum += (s[i] - 49) * 9 * (s.size() - i - 1);
        sum %= 1000000007;
        if (s.size() > i + 1) {
          for (int j = i + 1; j < s.size(); ++j) {
            if (s.size() > j and s[j] - 48 > 0)
              sum += (s[j] - 49) * 9 * (s.size() - j - 1);
            sum %= 1000000007;
            if (s.size() > j + 1) sum += 9 * (s.size() - j - 2);
          }
        }
        break;
      }
    }
    sum %= 1000000007;
    cout << sum;
    return 0;
  }
  return 0;
}
