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>
#define be(v) (v).begin(),(v).end()
#define pb(q) push_back(q)
#define era(t) t.erase(unique(be(t)),t.end())
#define doublecout(a) cout<<fixed<<setprecision(10)<<a<<endl;
typedef long long ll;
using namespace std;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    int n;
    cin>>n;
    int ans=1e9;
    for(int i=1;i<10;i++){
        int maki=i*n;
        int niko=maki;
        int num=0;
        
        while(maki){
            num+=maki%10;
            maki/=10;
        }

        ans=min(ans,num);
        maki=niko;
        while(maki%2==0){
            maki/=2;
        }
        while(maki%5==0){
            maki/=5;
        }
        num=0;
        while(maki){
            num+=maki%10;
            maki/=10;
        }
        ans=min(ans,num);
    }
    
    cout<<ans<<endl;
    return 0;
}