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 Python (3.4.3) (judge verdict: Wrong Answer)

from collections import defaultdict, deque

INF = float('inf')
K = int(input())
G = defaultdict(list)

for v in range(K):
    G[v].append((0, (v * 10) % K))
    G[v].append((1, (v + 1) % K))

def zero_one_bfs_shortest_path(s):
    d = [INF] * K
    d[s] = 0
    dq = deque()
    dq.appendleft(s)
    while len(dq) != 0:
        u = dq.popleft()
        for w, v in G[u]:
            if d[v] != INF:continue
            d[v] = d[u] + w
            if w == 0: dq.appendleft(v)
            else: dq.append(v)
    return d

print(zero_one_bfs_shortest_path(1)[0] + 1)