#include <bits/stdc++.h>
using namespace std;
int tc, cs = 1, n, m, len;
void debug();
const int N = 405;
template <class T>
inline T sqr(const T &x) {
  return x * x;
}
long long dp[205][4][3];
string s;
long long digitDP(int idx, int cnt, int flag) {
  if (idx >= len) return cnt == n;
  long long ans = 0;
  int p = s[idx] - '0';
  int l = p;
  if (flag) {
    l = 9;
    p = 99;
  }
  long long &ret = dp[idx][cnt][flag];
  if (-1 != ret) {
    return ret;
  }
  for (int i = 0; i <= l; ++i) {
    int f = 1;
    if (!flag && i == l) f = 0;
    if (i == 0) {
      ans += digitDP(idx + 1, cnt, f);
    } else
      ans += digitDP(idx + 1, cnt + 1, f);
  }
  return ret = ans;
}
void brain_fry() {
  cin >> s;
  cin >> n;
  len = s.size();
  memset(dp, -1, sizeof dp);
  long long ans = digitDP(0, 0, 0);
  cout << ans << endl;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  brain_fry();
  return 0;
}
void debug() { cout << "Debug goes here" << endl; }
