import math
n=input()
k=int(input())
if len(n)>=3:
    x=int(n[0]+n[1]+n[2])
if len(n)>=2:
    y=int(n[0]+n[1])
z=int(n[0])

def combinations_count(n, r):
    return math.factorial(n) // (math.factorial(n - r) * math.factorial(r))

# k==1のもの数える
if k==1:
    print(z*len(n)+(9-z)*(len(n)-1))

elif k==2 and len(n)>=2:
    a=0
    b=0
    for i in range(1,11):
        for j in range(1,10):
            if int(str(i)+str(j))<=y:
                a+=1
            elif int(str(i)+str(j))<y-int(n[1])+10 and int(str(i)+str(j))<100:
                b+=1
            else:
                v=combinations_count(len(n),2)
                if len(n)>=3:
                    w=combinations_count(len(n)-1,2)
                    w1=b*(len(n)-2)
                    print(a*v+(81-a)*w+w1)
                else:
                    print(a*v)
                exit()

elif k==3 and len(n)>=3:
    a=0
    b=0
    c=0
    for i in range(1,11):
        for j in range(1,10):
            for k in range(1,10):
                if int(str(i)+str(j)+str(k))<=x:
                    a+=1
                elif int(str(i)+str(j)+str(k))<y*10+10 and int(str(i)+str(j)+str(k))<1000:
                    b+=1
                elif int(str(i)+str(j)+str(k))<z*100+100 and int(str(i)+str(j)+str(k))<1000:
                    c+=1

                else:
                    v=combinations_count(len(n),3)
                    if len(n)>=4:
                        w=combinations_count(len(n)-1,3)
                        w1=combinations_count(len(n)-1,2)*b
                        w2=combinations_count(len(n)-2,2)*c
                        print(a*v+(729-a)*w+w1+w2)
                    else:
                        print(a*v)
                    exit()
else:
    print(0)