I Am Good

Limits 2s, 512 MB

I am trying to become a good guy, because it doesn't take money to become good. So here's a short and simple problem statement because I am a good guy! 🙂

Given two integers XX and PP, find the minimum positive value of KK such that f(X,K)f(X, K) is divisible by PP.

f(X,K)f(X, K) is defined as the KK-times concatenation of the integer XX (without leading zeroes).

For example,

Input

Input will start an integer TT (1≤T≤101 \le T \le 10) denoting the number of test cases.

In each test case, two space separated integers XX (1≤X≤1041 \le X \le 10^4) and PP (1≤P≤10101 \le P \le 10^{10}) will be given.

Output

For each test case, print the minimum positive value of KK in a single separate line.

If no such KK exists, print -1.

Sample

InputOutput
2
123 9
123 10
3
-1

In the first test case, f(123,3)=123123123f(123, 3) = 123123123 is divisible by 9 while 123123 and 123 are not divisible by 9. Thus 3 is the minimum possible value of KK for this test case.

In the second test case, f(123,K)f(123, K) can never be divisible by 10 no matter what KK is.