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 Java8 (OpenJDK 1.8.0) (judge verdict: Time Limit Exceeded)

import java.util.*;
import java.math.BigInteger;

public class Main {// Main
	private static int f(BigInteger x){
		int tot = 0;
		for(int i = 0; i < x.toString().length(); i++)
			tot += x.toString().charAt(i)-'0';
		return tot;
	}
	
    public static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        BigInteger x = new BigInteger(cin.nextLine());
        BigInteger b = new BigInteger("1");
        
        int res = 1234567;
        
        while(b.toString().length() <= 45){
        	if(x.compareTo(b) != -1){
            	BigInteger y = x.add(b).add(new BigInteger("-1")).divide(b);
        		res = Math.min(res, f(y));
        	}
        	
        	x.multiply(new BigInteger("10"));
        }
        
        System.out.print(res);
        cin.close();
    }
}