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 Rust (1.42.0) (judge verdict: Accepted)

fn main() {
    // 問題文中で使われる変数の型宣言をしておく。
    let k: i64;
    // 【入力段ここから】
    // 定型句 bufにstdinから1行読み込む。読み込んだ後、CRLFが入りっぱなしになっている点に注意。
    let mut buf: String;
    buf = String::new();
    let stdin_obj = std::io::stdin();
    stdin_obj.read_line(&mut buf).ok();
    // 定型句 buf（Str）に読み込んだ文字列をi64にパースしてnに代入。
    k = buf.trim().parse().ok().unwrap();
    // 【入力段ここまで】
    // NOTE: 下記は解説見たあとで実装だけ書いた
    // 【計算段】
    let mut a: i64 = 7 % k;
    for i in 1..k + 1 {
        if a == 0 {
            println!("{}", i);
            return;
        } else {
            a *= 10;
            a += 7;
            a %= k;
        }
    }
    println!("{}", -1);
}