#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
vector<int> digit;
vector<int> getDigit(ll N) {
vector<int> ans;
for (; N > 0; N /= 10) ans.push_back(N % 10);
return ans;
}
map<ll, ll> memo[19][2][2];
// leading = true tức đang là chữ số 0 đứng đầu, false tức là chữ số có nghĩa
ll dp(int idx, bool leading, bool smaller, ll prod, ll K) {
if (idx == -1) return (!leading && prod <= K);
ll& ans = memo[idx][leading][smaller][prod];
if (ans != 0) return ans;
ans = 0;
int max_digit = (smaller) ? 9 : digit[idx];
for (int i = 0; i <= max_digit; i++) {
bool new_leading = leading & (i == 0);
ll new_prod = (new_leading) ? prod : prod * i;
ans += dp(idx - 1, new_leading, smaller | (i < digit[idx]), new_prod, K);
}
return ans;
}
ll solve(ll N, ll K) {
digit = getDigit(N);
return dp(digit.size() - 1, 1, 0, 1, K);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll N, K;
cin >> N >> K;
ll ans = solve(N, K);
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdmVjdG9yPGludD4gZGlnaXQ7ICAKCnZlY3RvcjxpbnQ+IGdldERpZ2l0KGxsIE4pIHsKCXZlY3RvcjxpbnQ+IGFuczsgIAoJZm9yICg7IE4gPiAwOyBOIC89IDEwKSBhbnMucHVzaF9iYWNrKE4gJSAxMCk7ICAKCXJldHVybiBhbnM7IAp9CgptYXA8bGwsIGxsPiBtZW1vWzE5XVsyXVsyXTsgCgovLyBsZWFkaW5nID0gdHJ1ZSB04bupYyDEkWFuZyBsw6AgY2jhu68gc+G7kSAwIMSR4bupbmcgxJHhuqd1LCBmYWxzZSB04bupYyBsw6AgY2jhu68gc+G7kSBjw7MgbmdoxKlhCmxsIGRwKGludCBpZHgsIGJvb2wgbGVhZGluZywgYm9vbCBzbWFsbGVyLCBsbCBwcm9kLCBsbCBLKSB7CglpZiAoaWR4ID09IC0xKSByZXR1cm4gKCFsZWFkaW5nICYmIHByb2QgPD0gSyk7ICAKCglsbCYgYW5zID0gbWVtb1tpZHhdW2xlYWRpbmddW3NtYWxsZXJdW3Byb2RdOwoJaWYgKGFucyAhPSAwKSByZXR1cm4gYW5zOyAKCglhbnMgPSAwOyAKCWludCBtYXhfZGlnaXQgPSAoc21hbGxlcikgPyA5IDogZGlnaXRbaWR4XTsgCgkKCWZvciAoaW50IGkgPSAwOyBpIDw9IG1heF9kaWdpdDsgaSsrKSB7CgkJYm9vbCBuZXdfbGVhZGluZyA9IGxlYWRpbmcgJiAoaSA9PSAwKTsKCQlsbCBuZXdfcHJvZCA9IChuZXdfbGVhZGluZykgPyBwcm9kIDogcHJvZCAqIGk7ICAgCgkJYW5zICs9IGRwKGlkeCAtIDEsIG5ld19sZWFkaW5nLCBzbWFsbGVyIHwgKGkgPCBkaWdpdFtpZHhdKSwgbmV3X3Byb2QsIEspOyAgCgl9CQoKCXJldHVybiBhbnM7IAp9CgpsbCBzb2x2ZShsbCBOLCBsbCBLKSB7CglkaWdpdCA9IGdldERpZ2l0KE4pOyAgCglyZXR1cm4gZHAoZGlnaXQuc2l6ZSgpIC0gMSwgMSwgMCwgMSwgSyk7IAp9CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgCgljaW4udGllKG51bGxwdHIpOyAJCglsbCBOLCBLOyAKCWNpbiA+PiBOID4+IEs7IAoKCWxsIGFucyA9IHNvbHZlKE4sIEspOyAKCWNvdXQgPDwgYW5zIDw8ICdcbic7IAp9