def rec(i,k,f):#i桁で0以外がkこあるやつを返す  f ==0:i桁めがnum　f==1:num未満
    if i==0 :
        return 0  #長さ0なのは存在しない
    num = int(s[-i])
    if f==1 :
        if k==0:
            return 0 ##k
        else:
            return max(0,num-1)* ncr(i-1,k-1)*9**(k-1)+ncr(i-1,k)*9**k
        #先頭0とそれ以外 * k or k-1個の選び方*1~9

    else:
        if k == 0:
            return 1 ##k==0なら全部0 k<0にしない
        return rec(i-1,k-1,0) + rec(i-1,k-1,1)


def ncr(n,r):##　n>>r の場合のncr　O(r) r>nなら0
    x = 1
    y = 1
    for i in range(r):
        x*=(n-i)
        y*=(i+1)
    return x//y

s = input()
k = int(input())
l= len(s)
print(rec(l,k,0) + rec(l,k,1))
