#include <bits/stdc++.h>
using namespace std;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
int comb(int n, int k) {
  if (n < k or k < 0) return 0;
  int ret = 1;
  for (int i = n; i > n - k; i--) {
    ret *= i;
  }
  for (int i = 1; i < k + 1; i++) {
    ret /= i;
  }
  return ret;
}
int main() {
  string N;
  cin >> N;
  int k;
  cin >> k;
  int m = N.size(), idx = 0;
  vector<int> a(k), b(k);
  for (int i = 0; i < m; i++) {
    if (N[i] != '0') {
      a[idx] = stoi(N.substr(i, 1));
      b[idx] = i + 1;
      idx++;
    }
    if (idx == k) break;
  }
  int ans = 0;
  for (int i = 0; i < k; i++) {
    ans *= 9;
    ans += 9 * comb(m - b[i], k - i);
    ans += (a[i] - 1) * comb(m - b[i], k - i - 1);
  }
  ans++;
  cout << ans << endl;
}
