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 <deque>
#define N 100005
using namespace std;

int k;
bool v[N];
deque<int> qu, qc;
int main()
{
	int fu, fc, ne;
	cin >> k;
	qu.push_front(1);
	qc.push_front(1);
	while (!qu.empty()) {
		fu = qu.front(), qu.pop_front();
		fc = qc.front(), qc.pop_front();
		if (fu == 0) {cout << fc; return 0;}
		ne = fu * 10 % k;
		if (!v[ne]) v[ne] = 1, qu.push_front(ne), qc.push_front(fc);
		ne = (fu + 1) % k;
		if (!v[ne]) v[ne] = 1, qu.push_back(ne), qc.push_back(fc + 1);
	}
    return 0;
}