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 math


def divisors(n):
    res = []
    d = 1
    while d * d <= n:
        if n % d == 0:
            res.append(d)
            if d != n // d:
                res.append(n // d)

        d = d + 1
    return res


def u(n):
    if n == 1:
        return 1
    d = 2
    divs = 0
    count = 0
    while d * d <= n:
        if n % d == 0:
            n = n // d
            divs += 1
            if count == 1:
                return 0
            else:
                count = 1
        else:
            d = d + 1
            count = 0
    if n > 1:
        if n == d and count == 1:
            return 0
        divs += 1
    if divs % 2 == 0:
        return 1
    else:
        return -1


t = int(input())

for i in range(t):
    am = list(map(int, input().split()))
    a = am[0]
    m = am[1]

    g = math.gcd(a, m)
    divs = divisors(m // g)
    sum = 0
    for div in divs:
        sum += u(div) * (m // g // div)
    print(sum)
