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<vector>
#include<deque>

using namespace std;

int main(void) {
	int K;
	cin >> K;

	vector<int> vertex(K, K + 2);
	deque<int> q;
	q.push_back(1);
	vertex[1] = 1;
	while (!q.empty()) {
		int &x = q.front();
		q.pop_front();
		if (vertex[(10 * x) % K] > vertex[x]) {
			vertex[(10 * x) % K] = vertex[x];
			q.push_front((10 * x) % K);
		}
		if (vertex[(x + 1) % K] > vertex[x] + 1) {
			vertex[(x + 1) % K] = vertex[x] + 1;
			q.push_back((x + 1) % K);
		}
	}
	cout << vertex[0] << endl;
	system("pause");
	return 0;
}