Problem:
Score : 300 points

Problem Statement

Takahashi loves the number 7 and multiples of K.

Where is the first occurrence of a multiple of K in the sequence 7,77,777,\ldots? (Also see Output and Sample Input/Output below.)

If the sequence contains no multiples of K, print -1 instead.

Constraints

1 \leq K \leq 10^6

K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print an integer representing the position of the first occurrence of a multiple of K. (For example, if the first occurrence is the fourth element of the sequence, print 4.)

Sample Input 1

101

Sample Output 1

4

None of 7, 77, and 777 is a multiple of 101, but 7777 is.

Sample Input 2

2

Sample Output 2

-1

All elements in the sequence are odd numbers; there are no multiples of 2.

Sample Input 3

999983

Sample Output 3

999982

Solution in Kotlin (1.3.71) (judge verdict: Accepted)

import java.math.BigInteger

private class C {
    fun solve() {
        val str = nextToken()
        val lastChar = str.last()
        var ans = -1
        if (lastChar == '1' || lastChar == '3' || lastChar == '7' || lastChar == '9') {
            val x = str.toLong()
            var current = 0L
            for (i in 1..9) {
                if ((x * i) % 10 == 7L) {
                    current = x * i
                    break
                }
            }
            ans = 0
            while (current != 0L) {
                while (current % 10 == 7L) {
                    current /= 10
                    ans++
                }
                if (current == 0L) {
                    break
                }
                for (i in 1..9) {
                    if ((current + x * i) % 10 == 7L) {
                        current += x * i
                        break
                    }
                }
            }
        }
        println(ans)
    }

    var tokenBuffer = listOf<String>()
    var bufferPosition = 0

    private fun checkBuffer() {
        if (bufferPosition == tokenBuffer.size) {
            tokenBuffer = nextLine().split(" ")
            bufferPosition = 0
        }
    }

    fun nextLine() = readLine()!!
    fun nextInt(): Int {
        checkBuffer()
        return tokenBuffer[bufferPosition++].toInt()
    }

    fun nextLong(): Long {
        checkBuffer()
        return tokenBuffer[bufferPosition++].toLong()
    }

    fun nextDouble(): Double {
        checkBuffer()
        return tokenBuffer[bufferPosition++].toDouble()
    }

    fun nextToken(): String {
        checkBuffer()
        return tokenBuffer[bufferPosition++]
    }
}

fun main() {
    val reader = C().solve()

}