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 <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 100010;
inline int  cal(ll x){
	int ret =0;
	while(x){
		ret += x%10;
		x/=10;
	}
	return ret;
}
int K;
set<int> S;
int main(){
	scanf("%d",&K);
	int tmp,ans = 1e9;
	ll now = K;
	while(1){
		tmp = cal(now);
		ans = min(ans,tmp);
		if(S.count(tmp)) break;
		S.insert(tmp);
		now += K;
	}
	printf("%d\n",ans);
}