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.
from math import sqrt, gcd
from collections import Counter


# A function to print all prime factors of
# a given number n
def primeFactors(n):
    res = Counter()
    # Print the number of two's that divide n
    while n % 2 == 0:
        res[2]+=1
        n = n // 2

    # n must be odd at this point
    # so a skip of 2 ( i = i + 2) can be used
    for i in range(3, int(sqrt(n)) + 1, 2):

        # while i divides n , print i ad divide n
        while n % i == 0:
            res[i] += 1
            n = n // i

            # Condition if n is a prime
    # number greater than 2
    if n > 2:
        res[n] += 1
    return res


def main():
    def solve():

        a, m = map(int, input().split())
        g = gcd(a, m)
        mm = m//g
        pf = primeFactors(mm)
        etnum = mm
        etdenom = 1
        for p in pf:
            etnum *= (p-1)
            etdenom *= p
        print(etnum//etdenom)

    q = int(input())
    for _ in range(q):
        solve()


if __name__ == "__main__":
    main()
