#!/usr/bin/env python3 # † import os import numpy as np if __name__ == '__main__': M = 5_000_006 is_prime = np.full(M, True) is_prime[0] = is_prime[1] = False for p in range(2, int(np.sqrt(M))+1): if is_prime[p]: is_prime[p*p::p] = False dat = os.read(0, 14000010).decode().split('\n') N = int(dat[0]) def f(a, p): if is_prime[p]: return [b'0', b'1'][a % p != 0] return b'-1' os.write(1, b'\n'.join(f(*map(int, dat[i+1].split())) for i in range(N)) + b'\n')