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)


def ketasum(n)
    m = 0
    while 0 < n
        m+=n%10
        n/=10
    end
    m
end

def dfs(n, best, x=0, y=1)
    ans = best
    (1..9).each do |v|
        t = n*(x+y*v)
        b = ketasum(t)
        ans = [ans, dfs(n, b, x+y*v, y*10)].min if best > b
    end
    ans = [ans, dfs(n, best, x, y*10)].min if y < 1e15
    ans
end

n = gets.to_i

best = ketasum(n)

best = dfs(n, best)

p best