import java.io.*; import java.util.HashSet; import java.util.StringTokenizer; public class EXPotentiaLLL { private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static final PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); private static StringTokenizer st; private static int readInt() throws IOException { while (st == null || !st.hasMoreTokens()) st = new StringTokenizer(br.readLine()); return Integer.parseInt(st.nextToken()); } private static Long readLong() throws IOException { while (st == null || !st.hasMoreTokens()) st = new StringTokenizer(br.readLine()); return Long.parseLong(st.nextToken()); } public static void main(String[] args) throws IOException { int T = readInt(); while (T-- > 0) pw.println(solve()); pw.close(); } private static int solve() throws IOException { long A = readLong(); int P = readInt(); if (isPrime(P)) return A %P == 0 ? 0 : 1; else return -1; } static boolean isPrime(int n) { if (n < 2) return false; if (n == 2 || n == 3) return true; if (n % 2 == 0 || n % 3 == 0) return false; int sqrtN = (int) Math.sqrt(n); for (int i = 6; i <= sqrtN + 1; i += 6) { if (n % (i - 1) == 0 || n % (i + 1) == 0) return false; } return true; } }