#include <bits/stdc++.h>
using namespace std;
int combi(int n, int r) {
  int ans = 1;
  if (n < r) {
    return 0;
  }
  r = min(n - r, r);
  for (int i = 1; i <= r; i++) {
    ans = ans * (n - r + i) / i;
  }
  return ans;
}
int ctoi(char c) { return c - '0'; }
bool lower_bound(string& s, int k) {
  if (s.size() - k < 0) {
    s = "0";
    return false;
  }
  for (int i = int(s.size() - 1); i > k; i--) {
    s[i] = '0';
  }
  return true;
}
int main() {
  string n;
  int k;
  int ans = 0;
  cin >> n;
  cin >> k;
  if (!lower_bound(n, k)) {
    cout << 0 << endl;
    return 0;
  }
  for (int i = 0; i < n.size(); i++) {
    int a = ctoi(n[i]);
    if (a == 0) continue;
    if (k > 0) ans += combi(int(n.size() - (i + 1)), k) * int(pow(9, k));
    k--;
    ans += (a - 1) * combi(int(n.size() - (i + 1)), k) * int(pow(9, k));
  }
  ans += 1;
  cout << ans << endl;
  return 0;
}
