import math
N = int(input())
K = int(input())
# keta → 10 なら 2
S = str(N)
keta = len(S)


dp = [ [ [ 0 ]* (keta + 1)  for _ in range(100)] for _ in range(2)]
# dp[以下確定済みフラグ][0でないの個数 k ][上からn桁目か] の条件を満たしたものの個数

i = int(S[0])
dp[0][0][0] = 1

for n in  range(0,keta):
    # for i in range(0,10): #次の桁に来る候補  #ここを省略して 1～9 と 0で場合分け
    for k in range(0, K + 1):
        num = int(S[n])  #実際の数字
        num_to_9  = 9 - num  # 5 だったら 6,7,8,9
        num_hiku1_to_1 = max(0,num - 1) #未満が確定する 0 以外の数
        # 確定から確定
        #確定済みには何をつけても良い

        dp[1][k+ 1 ][n + 1] += dp[1][k][n] * 9
        #0以外を付け加えるやつ
        dp[1][k][n + 1] += dp[1][k][n] * 1  #0 を付け加えるやつ
        #kが増えないやつ
        #0を付ける
        # 未確定から確定
        dp[1][k + 1][n + 1] += dp[0][k][n] * num_hiku1_to_1 #その桁未満のを付け加えれば確定 432 4で2,1
        dp[1][k][n + 1] += dp[0][k][n] * 1 # 0を付け加えるパターン 432 4で0

        # 未確定から未確定
        if num == 0: # 402 で 4 に 0を加える
            dp[0][k][n + 1] += dp[0][k][n]
        else: # 412 で 4 に 1を加える一通り
            dp[0][k + 1][n + 1] += dp[0][k][n]

print(dp[0][K][keta] + dp[1][K][keta])


