You are given two integers a and m. Calculate the number of integers x such that 0 ≤ x < m and \gcd(a, m) = \gcd(a + x, m).

Note: \gcd(a, b) is the greatest common divisor of a and b.

Input

The first line contains the single integer T (1 ≤ T ≤ 50) — the number of test cases.

Next T lines contain test cases — one per line. Each line contains two integers a and m (1 ≤ a < m ≤ 10^{10}).

Output

Print T integers — one per test case. For each test case print the number of appropriate x-s.

Example

Input


3
4 9
5 10
42 9999999967


Output


6
1
9999999966

Note

In the first test case appropriate x-s are [0, 1, 3, 4, 6, 7].

In the second test case the only appropriate x is 0.
import sys
input = sys.stdin.readline
import math

t=int(input())

def calc(MIN,MAX,k):
    return MAX//k-(MIN-1)//k

for test in range(t):
    a,m=map(int,input().split())
    GCD=math.gcd(a,m)
    MIN=a
    MAX=a+m-1

    x=m//GCD

    L=int(math.sqrt(x))

    FACT=dict()

    for i in range(2,L+2):
        while x%i==0:
            FACT[i]=FACT.get(i,0)+1
            x=x//i

    if x!=1:
        FACT[x]=FACT.get(x,0)+1

    #print(FACT)
    FL=list(FACT)

    ANS=0

    LEN=len(FACT)

    for i in range(1<<LEN):
        count=0
        score=GCD
        for j in range(LEN):
            if i & (1<<j)!=0:
                count+=1
                score*=FL[j]

        ANS+=calc(MIN,MAX,score)*(-1)**count

    print(ANS)
                
            
            
        
    
    
