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: Wrong Answer)

k = gets.to_i

# node connect info
p1next  = k.times.map{|i| (i+1)  % k}
m10next = k.times.map{|i| (i*10) % k}

cost  = []
deque = []

deque.push(1)  # start node=1
cost[1] = 0    # start cost=0

while !deque.empty?
  break if cost[0]  # goal
  u = deque.shift
  #-----------------
  # x10 move
  #-----------------
  n = m10next[u]
  if !cost[n]   # nil = not visit
    cost[n] = cost[u]
    deque.unshift(n)
  end
  #-----------------
  # +1 move
  #-----------------
  n = p1next[u]
  if !cost[n]   # nil = not visit
    cost[n] = cost[u] + 1
    deque.push(n)
  end
end

p cost[0] + 1