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

Node = Struct.new(:no, :cost)

deque = []
visit = []

deque.push(Node.new(1, 0))  # start node      = 1

while !deque.empty?
  node = deque.shift
  #
  if node.no==0 # goal
    p node.cost + 1
    break
  end
  #
  visit[node.no] = true
  #-----------------
  # x10 move
  #-----------------
  nxt = (node.no*10) % K
  if !visit[nxt]
    deque.unshift(Node.new(nxt, node.cost))
  end
  #-----------------
  # +1 move
  #-----------------
  nxt = (node.no+1) % K
  if !visit[nxt]
    deque.push(Node.new(nxt, node.cost+1))
  end
end