Fibonacci

Time Limit: 4000ms
Memory Limit: 65536KB
This problem will be judged on HDU. Original ID: 5986
64-bit integer IO format: %I64d      Java class name: Main

Description

We consider the Fibonacci sequence f where f(0) = 0, f(1) = 1 and f(n) = f(n - 1) + f(n - 2) for n ≥ 2. For given x(0), one can define another sequence x that x(n) = f(x(n-1)). Now you need to find the minimum n such that x(n) ≡ x(0) (mod p).

Input

The first line contains an integer T indicating the number of test cases. Then for each test case, a line consists of two integers x(0) and p where 0 ≤ x(0) ≤ $10^9$ and 1 ≤ p ≤ 200000.

Output

For each test, output the minimum n in a line, or -1 if it is impossible.

Sample Input

5
6 4
8 11
9 11
12 11
13 11

Sample Output

3
3
-1
1
1

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .