#include <bits/stdc++.h>
using namespace std;
long get_ncr(int n, int r) {
  long res = 1;
  for (int i = 0; i < r; i++) {
    res *= n - i;
  }
  for (int i = 1; i <= r; i++) {
    res /= i;
  }
  return res;
}
int main() {
  string N;
  int K;
  cin >> N;
  cin >> K;
  if (K > N.length()) {
    cout << 0 << endl;
    return 0;
  }
  long long patterns = 0;
  for (int digits = K; digits <= N.length() - 1; digits++) {
    long select_non_zero_positions_patterns = get_ncr(digits - 1, K - 1);
    patterns += select_non_zero_positions_patterns * pow(9, K);
  }
  if (K == 1)
    patterns += N[0] - '0';
  else if (K == 2) {
    patterns += (N[0] - '0' - 1) * (N.length() - 1) * 9;
    patterns += (N[1] - '0');
    patterns += (N.length() - 2) * 9;
  } else {
    patterns += (N[0] - '0' - 1) * get_ncr(N.length() - 1, 2) * 9;
    patterns += (N[1] - '0' - 1) * (N.length() - 2) * 9;
    patterns += (N[2] - '0');
    patterns += get_ncr(N.length() - 2, 2) * 9;
  }
  cout << patterns << endl;
}
