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
 
dp = Array.new(k,46)
dp[1] = 1
deq = [1]
 
v = 0
loop  do
  
  break if deq[0] == 0 
  
  v = deq[0]
  
  deq.shift
  u = ( v * 10 ) % k
  if dp[u] > dp[v] then
    dp[u] = dp[v]
    deq.unshift(u)
  end
  
  u = ( v + 1 ) % k
  if dp[u] > dp[v] + 1 then
    dp[u] = dp[v] + 1
    deq.push(u)
  end
end
 
puts dp[0]