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 C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<stdio.h>
int main(){
  int n,m=100000,q[100010],r,t,d[100010],u[100010]={};
  scanf("%d",&n);
  q[t=0]=d[1]=1;
  for(r=1;r-t;t=(t+1)%m){//printf("%d %d\n",q[t],d[q[t]]);
    if(u[(q[t]+1)%n]==0){
      d[(q[t]+1)%n]=d[q[t]]+1;
      u[(q[t]+1)%n]=1;
      q[r++]=q[t]+1;
    }
    if(u[(q[t]*10)%n]==0){
      d[(q[t]*10)%n]=d[q[t]];
      u[(q[t]*10)%n]=1;
      q[t]=(q[t]*10)%n;
      t--;
    }
  }
  printf("%d\n",d[0]);
  return 0;
}