import numpy as np
from sys import stdin
from copy import deepcopy
from functools import reduce
from fractions import gcd
import math
import itertools
from collections import Counter
from itertools import chain  ##list(chain.from_iterable(l)) ##flatten
from heapq import heappush, heappop

"""
N = int(input())
A, B = map(int,input().split())
A = list(map(int,input().split())) ## 横一列
A = [int(input()) for _ in range(N)] ## 縦一列
lst = [list(map(int,input().split())) for i in range(M)] ## 二次元
"""

def cmb(n, r):
    if n - r < r: r = n - r
    if r == 0: return 1
    if r == 1: return n

    numerator = [n - r + k + 1 for k in range(r)]
    denominator = [k + 1 for k in range(r)]

    for p in range(2,r+1):
        pivot = denominator[p - 1]
        if pivot > 1:
            offset = (n - r) % p
            for k in range(p-1,r,p):
                numerator[k - offset] /= pivot
                denominator[k] /= pivot

    result = 1
    for k in range(r):
        if numerator[k] > 1:
            result *= int(numerator[k])

    return result




def ABC154E(n, k):
  digit = len(str(n))
  if digit < k: ## 存在しないとき
    return 0
  elif k == 0: ## k=0のとき
    return 1
  elif n == int('9'*digit): ## 全ての桁が9のとき
    return combination(digit, k) * 9**k
  elif digit == 1: ## nが1桁のとき（この段階でk=1も決定される）
    return n
  else: ## 最高桁の値に応じて、次の小さい桁の数の漸化式に移行する
    bin_max = int(str(n)[0]) ## 最高桁の値
    var_0 = ABC154E(int('9'*(digit-1)), k) ## 最高桁が0の場合
    var_1 = ABC154E(int('9'*(digit-1)), k-1) * (bin_max - 1) ## 最高桁が1~(bin_max-1)の場合
    var_2 = ABC154E(int(str(n)[1:]), k-1) ## 最高桁が(bin_max)の場合
    return var_0 + var_1 + var_2


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

ans = ABC154E(N, K)

print(ans)





