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)

import numpy as np
import heapq

# 1から初めて、xがあるとき10x、x+1のいずれかが行えるとしてqueue

K = int(input())
h = []
heapq.heappush(h,(1,1)) # 各桁の和、modulo K
visited = np.full(K,False)

ans = 0

while ans == 0:
  s,x = heapq.heappop(h)
  for ss,xx in [(s,(10*x)%K), (s+1,(x+1)%K)]:
    if visited[xx]:
      continue
    if xx == 0:
      ans = ss
      break
    visited[xx] = True
    heapq.heappush(h,(ss,xx))
  
print(ans)