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)

n = gets.to_i
mod_list = Array.new(n, nil)
mod_list[1] = [1, 1]
counter = 1
while mod_list[0].nil?
  bots = mod_list.select{|a| a && a[1] == counter }.map{|a| a[0]}
  until bots.empty?
    bots.each do |i|
      j = (i + 1) % n
      if mod_list[j].nil?
        mod_list[j] = [j, counter + 1]
      end
    end
    bots.map!{|bot| (bot*10)%n }
    bots = bots.select{|i|
      (mod_list[i].nil? || mod_list[i][1] > counter) && (mod_list[i] = [i, counter])
    }
  end
  counter += 1
end
puts mod_list[0][1].to_s