#include using namespace std; using ll = long long; constexpr char newl = '\n'; template vector sieve(T n) { vector is_prime(n + 1, true); is_prime[0] = false; is_prime[1] = false; for (T i = 2; i <= n; i++) { if (!is_prime[i]) continue; // res.emplace_back(i); for (T j = 2 * i; j <= n; j += i) is_prime[j] = false; } return is_prime; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); auto isp = sieve(5000000); int t; cin >> t; for (int i = 0; i < t; i++) { ll a; int p; cin >> a >> p; cout << (isp[p] ? (a % p != 0) : -1) << newl; } return 0; }