N = input()
d_num = len(N) #ケタ数
K = int(input())
ans = 0

if(K == 1):
 top = int(N[0]) #最高位
 ans += (d_num-1)*9  
 ans += top

elif(K == 2):
 top, semi = int(N[0]), int(N[1]) #最高位, 準最高位
 if(d_num >= 2): 
   #Top以外2つ選んだ場合
     ans += (((d_num-1)*(d_num-2))//2)*9*9 #nC2*9*9  
   #Top含む2つ
    #Top<top を選んだ場合
     ans += 1*(d_num-1)*(top-1)*9
    #Top==top + Semi を選んだ場合
     ans +=  1*1*1*(semi)
    #Top==top + Semi以外 を選んだ場合
     ans +=  1*(d_num-2)*1*9

elif(K == 3):
 top, s1, s2 = int(N[0]), int(N[1]), int(N[2]) #最高位, 準最高位,準々最高位
 if(d_num >= 3): 
   #Top以外3つ選んだ場合
     ans += (((d_num-1)*(d_num-2)*(d_num-3))//6)*9*9*9 #nC3*9*9  
   #Top含む3つ
    #Top<top を選んだ場合
     ans += 1*(((d_num-1)*(d_num-2))//2)*(top-1)*9*9
    #Top==top + S1 を選んだ場合
     #S1 < s1 のとき
     ans += 1*1*(d_num-2)*1*(s1-1)*9
     #S1 = s1のとき
      #S2を選んだ場合
     ans += 1*1*1*1*1*s2
      #S2以外を選んだ場合
     ans += 1*1*(d_num-3)*1*1*9
    #Top==top + S1以外 を選んだ場合
     ans +=  1*(((d_num-2)*(d_num-3))//2)*1*9*9

print(ans)