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 Kotlin (1.0.0) (judge verdict: Wrong Answer)

fun ketasum(n: Long): Long {
    tailrec fun ketasum(n: Long, ans: Long): Long =
        if (n < 10) n + ans
        else ketasum(n / 10, n % 10 + ans)
    return ketasum(n, 0)
}

fun ketasu(n: Long): Long = if (n < 10) 1 else 1 + ketasu(n/10)

fun main(args: Array<String>) {
    fun readLn() = readLine()!!
    fun readLong() = readLn().toLong()

    val k = readLong()
    var ans = ketasum(k)
    for (i in 2..k*k) {
        val s = k * i
        if (ketasu(s) >= ans) break;
        ans = Math.min(ans, ketasum(s))
    }
    println("${ans}")
}