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 9.2.1) (judge verdict: Accepted)

#include<stdio.h>
int main(){
  int k,n[100001]={0},q[100001]={0},i=0,j=1,l,x;
  scanf("%d",&k);
  n[1]=q[0]=1;
  while(!n[0]){
    for(l=i;l<j;l++){x=q[l]*10%k;while(!n[x]){n[x]=n[q[i]];q[j]=x;j++;x=x*10%k;}}
    for(l=i;n[q[i]]==n[q[l]];l++)if(!n[(q[l]+1)%k]){n[(q[l]+1)%k]=n[q[i]]+1;q[j]=(q[l]+1)%k;j++;}
    i=l;
  }
  printf("%d",n[0]);
}