#include <bits/stdc++.h>
using namespace std;
long digit1(string S) {
  int len = (int)(S.length());
  int digit[len];
  for (int i = 0; i < len; i++) {
    digit[len - 1 - i] = (int)(S[i]) - 48;
  }
  long num = (9 * (len - 1) + digit[len - 1]);
  return num;
}
long long digit2(string S) {
  int len = (int)(S.length());
  int digit[len];
  for (int i = 0; i < len; i++) {
    digit[len - 1 - i] = (int)(S[i]) - 48;
  }
  long long sum = 0;
  for (int j = 2; j <= len - 1; j++) {
    sum += (9 * 9 * (j - 1));
  }
  string N = S.substr(1);
  sum += 9 * (len - 1) * (digit[len - 1] - 1) + digit1(N);
  return sum;
}
long long digit3(string S) {
  int len = (int)(S.length());
  int digit[len];
  for (int i = 0; i < len; i++) {
    digit[len - 1 - i] = (int)(S[i]) - 48;
  }
  long long sum = 0;
  for (int j = 3; j <= len - 1; j++) {
    sum += (9 * 9 * 9 * (((j - 1) * (j - 2)) / 2));
  }
  string N = S.substr(1);
  sum += digit[len - 1] * digit2(N);
  return sum;
}
int main() {
  string N;
  int K;
  cin >> N >> K;
  int len = (int)(N.length());
  int digit[len];
  for (int i = 0; i < len; i++) {
    digit[len - 1 - i] = (int)(N[i]) - 48;
  }
  if (K == 1) {
    cout << digit1(N);
    return 0;
  } else if (K == 2) {
    cout << digit2(N);
    return 0;
  } else {
    cout << digit3(N);
    return 0;
  }
  return 0;
}
