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

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
 
using namespace std;
 
const int N=1e7+9;
 
typedef long long ll;
 
ll n;
int ans;
 
inline int calc(ll x)
{
	int ret=0;
	while(x)
	{
		ret+=x%10;
		x/=10;
	}
	return ret;
}
 
int main()
{
	if(fopen("vj.in","r"))
	{
		freopen("vj.in","r",stdin);
		freopen("vj.out","w",stdout);
	}	
 
    cin >> n ; 
    while(n%2==0) n /= 2 ; 
    while(n%5==0) n /= 5 ;
	ans=calc(n);
	for(int i=1;i<N;i++)
		ans=min(ans,calc(n*(ll)i));
	cout << ans << endl ; 

	return 0;
}