Problem:
Score : 700 points

Problem Statement

Find the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Constraints

2 \leq K \leq 10^5

K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Sample Input 1

6

Sample Output 1

3

12=6×2 yields the smallest sum.

Sample Input 2

41

Sample Output 2

5

11111=41×271 yields the smallest sum.

Sample Input 3

79992

Sample Output 3

36

Solution in Ruby (2.3.3) (judge verdict: Accepted)

K = gets.to_i

queue = [[1, 1]]

check = Hash.new { |h, k| h[k] = Hash.new }

until queue.empty?
  v, cost = queue.shift

  next if check[v][cost]
  check[v][cost] = true

  if v == 0
    puts cost
    break
  end

  nv1 = (v + 1) % K
  nv2 = (v * 10) % K

  queue << [nv1, cost + 1]
  queue.unshift([nv2, cost]) if v != nv2
end