#include <bits/stdc++.h>
using namespace std;
int POWINT(int x, int n) {
  int ret = 1;
  while (n > 0) {
    if (n & 1) ret *= x;
    x *= x;
    n >>= 1;
  }
  return ret;
};
long long POWLL(long long x, int n) {
  long long ret = 1;
  while (n > 0) {
    if (n & 1) ret *= x;
    x *= x;
    n >>= 1;
  }
  return ret;
};
template <class T>
inline bool chmax(T &a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
};
template <class T>
inline bool chmin(T &a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
};
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  string N;
  cin >> N;
  int digit = N.size();
  int top = N[0] - '0';
  int K;
  cin >> K;
  vector<vector<bool>> memo(digit, vector<bool>(digit, false));
  for (int i = (int)0; i < (int)digit; i++) {
    for (int j = (int)i + 1; j < (int)digit; j++) {
      bool flag = true;
      for (int k = (int)i + 1; k < (int)j; k++) {
        int tmp = (int)N[k] - '0';
        if (tmp > 0) flag = false;
        break;
      }
      if (flag) memo[i][j] = true;
    }
  }
  if (K == 1) {
    int ans = 9 * (digit - 1);
    ans += top;
    cout << ans << "\n";
  } else if (K == 2) {
    int ans = 9 * 9 * ((digit - 1) * (digit - 2) / 2);
    ans += (top - 1) * 9 * (digit - 1);
    for (int i = (int)1; i < (int)digit; i++) {
      int num = (int)N[i] - '0';
      if (memo[0][i]) {
        if (num == 0) continue;
        ans += num;
      } else {
        ans += 9;
      }
    }
    cout << ans << "\n";
  } else if (K == 3) {
    int ans = 9 * 9 * 9 * ((digit - 1) * (digit - 2) * (digit - 3) / 6);
    ans += (top - 1) * 9 * 9 * ((digit - 1) * (digit - 2) / 2);
    for (int i = (int)1; i < (int)digit - 1; i++) {
      for (int j = (int)i + 1; j < (int)digit; j++) {
        if (memo[0][i]) {
          int num_i = (int)N[i] - '0';
          if (num_i == 0) continue;
          ans += (num_i - 1) * 9;
          if (memo[i][j]) {
            int num_j = (int)N[j] - '0';
            if (num_j == 0) continue;
            ans += num_j;
          } else {
            ans += 9;
          }
        } else {
          ans += 9 * 9;
        }
      }
    }
    cout << ans << "\n";
  }
  return 0;
};
