#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; scanf("%ld",&a); scanf("%ld",&p); if(y[p] == 1){ if(a % p == 0) printf("%d\n",0); else printf("%d\n",1); }else{ printf("%d\n",-1); } } }