#  愚直に数え上げる方法

import sys

input = lambda: sys.stdin.readline().rstrip()


def solve():

    N = list(map(int, input()))
    K = int(input())

    if K == 1:
        ans = (len(N) - 1) * 9 + N[0]

    elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

    elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

    print(ans)


if __name__ == '__main__':
    solve() import sys sys input = lambda: sys.stdin.readline().rstrip() input lambda: sys.stdin.readline().rstrip() sys.stdin.readline().rstrip() sys.stdin.readline().rstrip sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline rstrip def solve():

    N = list(map(int, input()))
    K = int(input())

    if K == 1:
        ans = (len(N) - 1) * 9 + N[0]

    elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

    elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

    print(ans) solve N = list(map(int, input())) N list(map(int, input())) list map(int, input()) map int input() input K = int(input()) K int(input()) int input() input if K == 1:
        ans = (len(N) - 1) * 9 + N[0]

    elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

    elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

     K == 1 K 1 ans = (len(N) - 1) * 9 + N[0] ans (len(N) - 1) * 9 + N[0] (len(N) - 1) * 9 len(N) - 1 len(N) len N 1 9 N[0] N 0 elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

     K == 2 K 2 if len(N) < 2:
            print(0)
            exit()

         len(N) < 2 len(N) len N 2 print(0) print 0 exit() exit ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2 ans (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2 (9 ** 2) * (len(N) - 1) * (len(N) - 2) (9 ** 2) * (len(N) - 1) 9 ** 2 9 2 len(N) - 1 len(N) len N 1 len(N) - 2 len(N) len N 2 2 ans += (N[0] - 1) * (len(N) - 1) * 9 ans (N[0] - 1) * (len(N) - 1) * 9 (N[0] - 1) * (len(N) - 1) N[0] - 1 N[0] N 0 1 len(N) - 1 len(N) len N 1 9 for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

     i range(1, len(N)) range 1 len(N) len N if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

     N[i] != 0 N[i] N i 0 ans += N[i] + (len(N) - i - 1) * 9 ans N[i] + (len(N) - i - 1) * 9 N[i] N i (len(N) - i - 1) * 9 len(N) - i - 1 len(N) - i len(N) len N i 1 9 break elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

     K == 3 K 3 if len(N) < 3:
            print(0)
            exit()

         len(N) < 3 len(N) len N 3 print(0) print 0 exit() exit ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6 ans (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6 (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) (9 ** 3) * (len(N) - 1) * (len(N) - 2) (9 ** 3) * (len(N) - 1) 9 ** 3 9 3 len(N) - 1 len(N) len N 1 len(N) - 2 len(N) len N 2 len(N) - 3 len(N) len N 3 6 ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2 ans (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2 (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) (N[0] - 1) * (9 ** 2) * (len(N) - 1) (N[0] - 1) * (9 ** 2) N[0] - 1 N[0] N 0 1 9 ** 2 9 2 len(N) - 1 len(N) len N 1 len(N) - 2 len(N) len N 2 2 for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

     i range(1, len(N) - 1) range 1 len(N) - 1 len(N) len N 1 if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

     N[i] != 0 N[i] N i 0 ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2 ans (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2 (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) (9 ** 2) * (len(N) - i - 1) 9 ** 2 9 2 len(N) - i - 1 len(N) - i len(N) len N i 1 len(N) - i - 2 len(N) - i len(N) len N i 2 2 ans += (N[i] - 1) * (len(N) - i - 1) * 9 ans (N[i] - 1) * (len(N) - i - 1) * 9 (N[i] - 1) * (len(N) - i - 1) N[i] - 1 N[i] N i 1 len(N) - i - 1 len(N) - i len(N) len N i 1 9 for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                 j range(i + 1, len(N)) range i + 1 i 1 len(N) len N if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                 N[j] != 0 N[j] N j 0 ans += N[j] + (len(N) - j - 1) * 9 ans N[j] + (len(N) - j - 1) * 9 N[j] N j (len(N) - j - 1) * 9 len(N) - j - 1 len(N) - j len(N) len N j 1 9 break break print(ans) print ans if __name__ == '__main__':
    solve() __name__ == '__main__' __name__ '__main__' solve() solve def solve():

    N = list(map(int, input()))
    K = int(input())

    if K == 1:
        ans = (len(N) - 1) * 9 + N[0]

    elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

    elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

    print(ans) def solve():

    N = list(map(int, input()))
    K = int(input())

    if K == 1:
        ans = (len(N) - 1) * 9 + N[0]

    elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

    elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

    print(ans) solve input = lambda: sys.stdin.readline().rstrip() lambda: sys.stdin.readline().rstrip() input
#  愚直に数え上げる方法

import sys

input = lambda: sys.stdin.readline().rstrip()


def solve():

    N = list(map(int, input()))
    K = int(input())

    if K == 1:
        ans = (len(N) - 1) * 9 + N[0]

    elif K == 2:

        if len(N) < 2:
            print(0)
            exit()

        ans = (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2
        ans += (N[0] - 1) * (len(N) - 1) * 9

        for i in range(1, len(N)):
            if N[i] != 0:
                ans += N[i] + (len(N) - i - 1) * 9
                break

    elif K == 3:

        if len(N) < 3:
            print(0)
            exit()

        ans = (9 ** 3) * (len(N) - 1) * (len(N) - 2) * (len(N) - 3) // 6
        ans += (N[0] - 1) * (9 ** 2) * (len(N) - 1) * (len(N) - 2) // 2

        for i in range(1, len(N) - 1):
            if N[i] != 0:
                ans += (9 ** 2) * (len(N) - i - 1) * (len(N) - i - 2) // 2
                ans += (N[i] - 1) * (len(N) - i - 1) * 9
                for j in range(i + 1, len(N)):
                    if N[j] != 0:
                        ans += N[j] + (len(N) - j - 1) * 9
                        break
                break

    print(ans)


if __name__ == '__main__':
    solve()
