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<algorithm>
 
using namespace std;
typedef long long Int;
#define INF (1LL<<60)
#define rep(i,n) for(Int (i)=1;(i)<(n);(i)++)
Int dp[20][54000];
Int table[54000];
Int n;
Int p[20][54000];
Int f[20][54000];

Int wa(int x){
	Int ans =0;
	while(x !=0){
		ans += x%10;
		x= x/10;
	}
	return ans;    
}

int main(){
	cin.tie(0);
    ios::sync_with_stdio(false);

	cin >>n;
	Int res=INF;
	rep(i,100000) res = min(res,wa(n*i));

	cout << res<<endl;

	return 0;
}