#include <bits/stdc++.h>
using namespace std;
using P = pair<int, int>;
int facctorialMethod(int k) {
  int sum = 1;
  for (int i = 1; i <= k; ++i) {
    sum *= i;
  }
  return sum;
}
unsigned GetDigit(unsigned num) {
  unsigned digit = 0;
  while (num != 0) {
    num /= 10;
    digit++;
  }
  return digit;
}
int main() {
  long long n, k;
  cin >> n >> k;
  if (k == 1) {
    int q = GetDigit(n);
    long long ans = 9 * (q - 1);
    for (int i = 1; i < 10; i++) {
      if (i * pow(10, q - 1) <= n) ans++;
    }
    cout << ans << endl;
  } else if (k == 2) {
    int q = GetDigit(n);
    long long ans = 81 * (q - 1) * (q - 2) / 2;
    for (int i = 1; i < 10; i++) {
      for (int j = 1; j < 10; j++) {
        for (int l = 0; l < (q - 1); l++) {
          if (i * pow(10, q - 1) + j * pow(10, l) <= n) ans++;
        }
      }
    }
    cout << ans << endl;
  } else if (k == 3) {
    int q = GetDigit(n);
    long long ans;
    if (q >= 5) {
      for (int i = 4; i < q; i++) {
        ans += facctorialMethod(q - 1) / 2 / facctorialMethod(q - 3) * 729;
      }
    }
    for (int i = 1; i < 10; i++) {
      for (int j = 1; j < 10; j++) {
        for (int l = 1; l < 10; l++) {
          for (int m = 0; m < (q - 2); m++) {
            for (int o = m + 1; o < (q - 2); o++) {
              if (i * pow(10, q - 1) + j * pow(10, m) + l * pow(10, o) <= n)
                ans++;
            }
          }
        }
      }
    }
    cout << ans << endl;
  }
  return 0;
}
