#include <bits/stdc++.h>
using namespace std;
long long f(string N, int K) {
  long long s = N.size();
  if (s == 0) {
    return 0;
  }
  long long ret = 0;
  for (int i = 1; i < N[0] - '0'; i++) {
    if (K == 1) {
      ret += 1;
    } else if (K == 2) {
      ret += 9 * (s - 1);
    } else {
      ret += 9 * 9 * (s - 1) * (s - 2) / 2;
    }
  }
  if (N[0] != '0') {
    if (K == 1) {
      ret += 9 * (s - 1);
    } else if (K == 2) {
      ret += 9 * 9 * (s - 1) * (s - 2) / 2;
    } else {
      ret += 9 * 9 * 9 * (s - 1) * (s - 2) * (s - 3) / 6;
    }
    if (K > 1) {
      ret += f(N.substr(1), K - 1);
    } else {
      ret++;
    }
  } else {
    ret += f(N.substr(1), K - 1);
  }
  return ret;
}
int main() {
  string N;
  int K;
  cin >> N >> K;
  cout << f(N, K) << endl;
  return 0;
}
