n = input()
k = int(input())
d = len(n)

import math
def p(n, r):
    return math.factorial(n) // math.factorial(n - r)
def c(n, r):
    if n < r:
        return 0
    return math.factorial(n) // (math.factorial(n - r) * math.factorial(r))

if d < k:
    print(0)
    exit()
# 上i桁が一致するときの桁が一致する場合の数
dp = [0]*(k+1)
dp[k] = 1
for i in range(k)[::-1]:
    # 一致の時、1~n[i]のとき、0のとき
    if i != 0:
        dp[i] = dp[i+1] + (int(n[i])-1)*c(d-i-1,k-i-1)*pow(9,k-i-1) + c(d-i-1,k-i)*pow(9,k-i)
    elif i == 0:
        dp[i] = dp[i+1] + (int(n[i])-1)*c(d-i-1,k-i-1)*pow(9,k-i-1)
# print(dp)

# 桁数が一致しないときも足す
ans = dp[0]
for i in range(k,d):
    # １つは一番左にあるので残りk-1を選ぶ
    ans += c(i-1,k-1)*pow(9,k)
    # print(ans)
print(ans)