#include <bits/stdc++.h>
using namespace std;
long long MOD = 1e9 + 7;
int INF = 1 << 30;
long long INFL = 1LL << 60;
long long comb(long long x, long long y) {
  if (y == 1) return x;
  long long ans = 1;
  for (long long i = 0; i < (y); i++) ans *= x - i;
  for (int i = 1; i <= y; i++) ans /= i;
  return ans;
}
int main() {
  string N;
  cin >> N;
  long long K;
  cin >> K;
  long long ans = 0;
  long long keta = N.size();
  for (int i = 1; i < keta; i++) {
    if (K == 1) {
      ans += 9;
    } else if (K == 2) {
      if (i >= 3) {
        ans += 81 * comb(i - 1, 1);
      } else if (i == 2) {
        ans += 81;
      } else {
        continue;
      }
    } else {
      if (i == 3) {
        ans += 729;
      } else if (i > 3) {
        ans += 729 * comb(i - 1, 2);
      } else {
        continue;
      }
    }
  }
  vector<int> num(keta + 1, 0);
  for (int i = 1; i <= keta; i++) num[i] = (int)(N.at(i - 1) - '0');
  if (K == 1) ans += num[1];
  if (K == 2) {
    ans += (num[1] - 1) * (keta - 1) * 9;
    for (int f = 2; f <= keta; f++) {
      if (num[f] == 0)
        continue;
      else if (f == keta && num[f] > 0)
        ans += num[keta];
      else {
        if (num[f] > 0) {
          ans += 9 * comb(keta - f, 1);
          ans += num[f];
          break;
        }
      }
    }
  }
  if (K == 3) {
    ans += (num[1] - 1) * comb(keta - 1, 2) * 81;
    long long s = 0;
    for (int f = 2; f <= keta; f++)
      if (num[f] > 0) s = f;
    if (s == 0) {
      cout << ans << endl;
      return 0;
    }
    if (s == keta)
      ans += 0;
    else if (keta - 1 == s) {
      ans += num[s] * 9;
      ans += num[keta];
    } else {
      ans += 81 * comb(keta - s, 2);
      ans += (num[s] - 1) * (keta - s) * 9;
      for (int ss = s + 1; ss <= keta; ss++) {
        if (num[ss] == 0)
          continue;
        else if (ss == keta && num[ss] > 0)
          ans += num[keta];
        else {
          if (num[ss] > 0) {
            ans += 9 * comb(keta - ss, 1);
            ans += num[ss];
            break;
          }
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
