#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long int #define pb push_back #define rep(i,n) for(int i=0;i<(n);i++) #define REP(i,n) for(int i=1;i<=(n);i++) using namespace std; int mx8[] = {0,0,1,-1,-1,1,-1,1}; int my8[] = {-1,1,0,0,-1,-1,1,1}; int mx4[] = {1,-1,0,0}; int my4[] = {0,0,-1,1}; const int MOD = 1000000007; int y[5000003]; int main() { for(int i = 2; i <= 5000002; i++){ for(int j = 1; j <= 5000002/i; j++){ y[i*j]++; } } int t; cin >> t; rep(test,t){ ll a,p; cin >> a >> p; if(y[p] == 1){ if(a % p == 0) cout << 0 << endl; else cout << 1 << endl; }else{ cout << -1 << endl; } } }