#include <bits/stdc++.h>
using namespace std;
int num = 0;
int special(string s, int k) {
  int len = s.size();
  int res = 0;
  for (int j = 0; j < len; j++) {
    if (s[j] == '0') break;
    res += (s[j] - '1') * pow(9, len - j - 1);
  }
  int flag = false;
  for (auto c : s) {
    if (c == '0') flag = true;
  }
  if (!flag) res++;
  return res;
}
long long combine(int m, int k) {
  long long res = 1;
  for (int i = 0; i < k; i++) {
    res *= m;
    m--;
  }
  for (int i = 1; i <= k; i++) {
    res /= i;
  }
  return res;
}
long long get(string s, int k) {
  if (k == 0) return 1;
  int len = s.size();
  if (len < k) return 0;
  if (len == k) {
    if (stoi(s) < num)
      return 0;
    else
      return special(s, k);
  }
  long long res = (s[0] - '0') * (get(s.substr(1), k - 1));
  if (s[0] != 0) res += combine(len - 1, k) * pow(9, k);
  return res;
}
int main() {
  string s;
  int k;
  cin >> s >> k;
  for (int i = 0; i < k; i++) {
    num *= 10;
    num++;
  }
  cout << get(s, k) << endl;
  return 0;
}
