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: Time Limit Exceeded)

#pra\
gma GCC optimize("O3")
#pra\
gma GCC optimize("O2")
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
#define debug(x) cerr<<#x<<'='<<x<<'\n'

long long k;
long long ans=998244353;
bool flag;
__attr\
ibute__ ((optimize("-O3"))) inline void update(long long k) {
//	debug(k);
	long long tmp=0;
	int t=0;
	for (; k; k/=10) {
		t++;
		tmp+=k%10;
	}
	ans=min(tmp, ans);
}
__attr\
ibute__ ((optimize("-O3"))) int main(void) {
	cin>>k;
	for (register int i=1; i<=1e8; i++) {
		update(i*k);
	}
	cout<<ans;
	return 0;
}