from operator import mul
from functools import reduce

def cmb(n,r):
    if n == 0: return 1
    r = min(n-r,r)
    if r == 0: return 1
    over = reduce(mul, range(n, n - r, -1))
    under = reduce(mul, range(1,r + 1))
    return over // under

N = int(input())
K = int(input())

ans = 0
if K == 1:
    d = 1
    flag = False
    while True:
        for i in range(1,10):
            if d * i > N:
                flag = True
            else:
                ans += 1
        d *= 10

        if flag:
            break
elif K == 2:
    d1 = 10
    flag = False
    while True:
        for i in range(1,10):
           d2 = 1
           while d2 < d1:
                for j in range(1,10):
                    if d1 * i + d2 * j > N:
                       flag = True
                    else:
                        ans += 1
                
                d2 *= 10

                if flag:
                    break
        
        d1 *= 10

        if flag:
            break
else:
    d1 = 100
    flag = False
    while True:
        tmp = cmb(len(str(d1))-1,K-1)
        for i in range(1,10):
            if d1 * i <= N:
                ans += tmp
                continue

            d2 = 10
            while d2 < d1:
                tmp = (d1*i) * cmb(len(str(d2))-1,K-2)
                for j in range(1,10):
                    if d1 * i + d2*j <= N:
                        ans += tmp
                        continue

                    d3 = 1
                    while d3 < d2:
                        for k in range(1,10):
                            if d1 * i + d2 * j + d3 * k > N:
                                flag = True
                            else:
                                ans += 1
                        d3 *= 10
                        if flag:
                            break
                
                d2 *= 10

                if flag:
                    break
        
        d1 *= 10

        if flag:
            break

print(ans)