use proconio::input;
#[allow(unused_imports)]
use proconio::marker::*;

fn main() {
    input! {
        n : Bytes,
        mut k : usize
    }
    let n = n
        .iter()
        .map(|x| (x - ascii::AsciiChar::_0 as u8) as usize)
        .collect::<Vec<_>>();
    let f = |d, k| {
        if d < k {
            0
        } else {
            num::integer::binomial(d, k) * 9usize.pow(k as u32)
        }
    };

    let mut res = 0;
    for i in 0..n.len() {
        if n[i] == 0 {
            continue;
        }
        // if k == 1 {
        //     println!("{} {}", i, n[i] * f(n.len() - i - 1, k - 1));
        //     res += n[i] * f(n.len() - i - 1, k - 1);
        // } else {
        //     println!("{} {}", i, (n[i] - 1) * f(n.len() - i - 1, k - 1));
        //     res += (n[i] - 1) * f(n.len() - i - 1, k - 1);
        // }
        res += (n[i] - 1) * f(n.len() - i - 1, k - 1);
        res += f(n.len() - i - 1, k);

        k -= 1;
        if k == 0 {
            break;
        }
    }
    println!("{}", res + 1);
}
