N = gets.chomp
K = gets.to_i
L = N.size

dpA = Array.new(L + 1) { Array.new(L + 1, 0) }
dpB = Array.new(L + 1) { Array.new(L + 1, 0) }

N.chars.map(&:to_i).each_with_index do |n, i|
  0.upto(n) do |v|
    next if i == 0 && v == 0

    if v == n
      0.upto(i) do |nonzero_count|
        if v == 0
          dpA[i + 1][nonzero_count] += dpA[i][nonzero_count]
        else
          if i == 0
            dpA[i + 1][nonzero_count + 1] += 1
          else
            dpA[i + 1][nonzero_count + 1] += dpA[i][nonzero_count]
          end
        end
      end
    else
      0.upto(i) do |nonzero_count|
        if v == 0
          dpB[i + 1][nonzero_count] += dpA[i][nonzero_count]
        else
          if i == 0
            dpB[i + 1][nonzero_count + 1] += 1
          else
            dpB[i + 1][nonzero_count + 1] += dpA[i][nonzero_count]
          end
        end
      end
    end
  end

  if i > 0
    0.upto(9) do |v|
      if v != 0
        dpB[i + 1][1] += 1
      end

      1.upto(i) do |nonzero_count|
        if v == 0
          dpB[i + 1][nonzero_count] += dpB[i][nonzero_count]
        else
          dpB[i + 1][nonzero_count + 1] += dpB[i][nonzero_count]
        end
      end
    end
  end
end

puts dpA[L][K] + dpB[L][K]
