# -*- coding: utf-8 -*-
# 整数の入力
#a = int(input())
# スペース区切りの整数の入力
#b, c = map(int, input().split())
# 文字列の入力
#s = input()
# 出力
#print("{} {}".format(a+b+c, s))

import math

def comb2(n):
    return (n*(n-1)//2)

def comb3(n):
    return ((n)*(n-1)*(n-2)//6)


def count1(nrow, k):
  keta = len(nrow)
  ans = int(nrow[0])

  if keta > 1:
    ans += (keta-1)*9
  return ans

def count2(nrow, k):
  keta = len(nrow)
  topmax = int(nrow[0])

  ans = count1(nrow[1:], k)  # top==topmax
  ans += (topmax-1)*(keta-1)*9  # top!=topmax
  if keta > 2:
    ans += comb2(keta-1)*81
  return ans

def count3(nrow, k):
  keta = len(nrow)
  topmax = int(nrow[0])

  ans = count2(nrow[1:],k) #top==topmax
  ans += (topmax-1)*comb2(keta-1) * 81#top!=topmax
  if keta > 3:
    ans += comb3(keta-1) * 729
  return ans

nrow=input()
k = int(input())
if (k > len(nrow)):
  print('0')
elif k==1:
  print(count1(nrow,k))
elif k == 2:
  print(count2(nrow,k))
elif k == 3:
  print(count3(nrow,k))
