from collections import defaultdict import math def Sieve_of_Eratosthenes(maxA): lst = [None]*(maxA+1) lst[0] = False lst[1] = False for i in range(2, maxA+1): if lst[i] is None: for g in range(i, maxA+1, i): if lst[g] is None: lst[g] = False lst[i] = True return lst maxA = 5*10**6 + 1 lst = Sieve_of_Eratosthenes(maxA) t = int(input()) for _ in range(t): a, p = map(int, input().split()) if lst[p]: if math.gcd(a, p) == 1: print(1) else: print(0) else: print(-1)