#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
long long solve(string N, int K) {
  if (K == 1) {
    return (N.size() - 1) * 9 + atoi(N.substr(0, 1).c_str());
  } else if (K == 2) {
    int hoge = atoi(N.substr(0, 1).c_str());
    long long ans = ((N.size() - 1) * (N.size() - 2)) / 2 * 81 +
                    (hoge - 1) * (N.size() - 1) * 9;
    for (int i = 1; i < N.size() + 1; i++) {
      if (N[i] != '0') {
        ans += solve(N.substr(i, N.size() - i), 1);
        break;
      }
    }
    return ans;
  } else {
    int hoge = atoi(N.substr(0, 1).c_str());
    long long ans =
        ((N.size() - 1) * (N.size() - 2) * (N.size() - 3)) / 6 * 729 +
        (hoge - 1) * ((N.size() - 1) * (N.size() - 2)) / 2 * 81;
    for (int i = 1; i < N.size() + 1; i++) {
      if (N[i] != '0') {
        ans += solve(N.substr(i, N.size() - i), 2);
        break;
      }
    }
    return ans;
  }
}
int main() {
  string N;
  int K;
  cin >> N;
  cin >> K;
  cout << solve(N, K);
  return 0;
}
