using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class E {
    static void Main(string[] args) {
        string N_st = Console.ReadLine();
        int K = int.Parse(Console.ReadLine());
        long ans = 0;
        int keta = N_st.Length;
        for (int i = 1; i <= keta - 1; i++) {
            if (i >= K) {
                ans += CountPart(i, i - K);
            }
        }

        int zero_remain = keta - K;

        //最大桁をチェック
        //int headNum = int.Parse(N_st[0].ToString());
        //if (headNum >= 2) {
        //    ans += (headNum - 1) * CountPart2(keta - 1, zero_remain);
        //}

        for (int index = 0; index <= keta; index++) {
            int nowHeadNum = int.Parse(N_st[index].ToString());

            if (nowHeadNum >= 2) {
                //1~(nowHeadNum - 1)スタートの奴を足す
                ans += (nowHeadNum - 1) * CountPart2(keta - index - 1, zero_remain);

                //0スタートのやつを足す
                if (index != 0) {
                    ans += CountPart2(keta - index - 1, zero_remain);
                }
            }

            if (nowHeadNum == 1) {
                //0スタートのやつを足す
                ans += CountPart2(keta - index - 1, zero_remain);
            }

            if (nowHeadNum == 0) {
                zero_remain--;
            }

            //残りをすべて0にして終了
            if (index + zero_remain + 1 == keta) {
                ans++;
                break;
            }
        }

        Console.WriteLine(ans);

    }

    //全体のけたがa, そのうち0の個数がbとする（先頭に0を許さないパターン）
    static long CountPart(int a, int b) {
        if (a <= b) {
            return 0;
        }

        return 9 * (long)Math.Pow(9, a - b - 1) * Factorial(a - 1) / (Factorial(a - b - 1) * Factorial(b));
    }

    //全体のけたがa, そのうち0の個数がbとする（先頭に0を許すパターン）
    static long CountPart2(int a, int b) {

        if (a < b) {
            return 0;
        }

        if (a == b) {
            return 0;
        }

        return (long)Math.Pow(9, a - b) * Factorial(a) / (Factorial(a - b) * Factorial(b));
    }

    static long Factorial(int a) {
        if (a <= 1) {
            return 1;
        }

        return a * Factorial(a - 1);
    } 
}