fun main(args: Array<String>){
    val n = readLine()!!
    val k = readLine()!!.toInt()
    var ans = 0L
    if(n.length <= 3){
        for(i in 1..n.toInt()){
            if(i.toString().filter { it != '0' }.length == k){
                ans++
            }
        }
        println(ans)
        return
    }else{
        for(i in 1..999){
            if(i.toString().filter { it != '0' }.length == k){
                ans++
            }
        }
    }

    //4桁以上
    //まずnの桁数-1までを計算する
    val digits = n.length
    for(i in 4 until digits){
        ans += when (k) {
            1 -> {
                9L
            }
            2 -> {
                9L * (i - 1) * 9L
            }
            else -> {
                9L * (i - 1) * 9L * (i - 2) * 9L / 2
            }
        }
    }

    // n桁のやつを全部作ってnより小さくなる場合に足す
    fun generate(count: Int, now: String){
        if(now.length == n.length){
            if(count == 0 && now <= n){
                ans++
            }
        }else{
            if(count == 0){
                generate(count, now+"0")
            }else{
                generate(count, now+"0")
                for(i in 1..9){
                    generate(count - 1, now+i.toString())
                }
            }
        }
    }
    for(i in 1..9){
        generate(k - 1, i.toString())
    }
    println(ans)
}