#include <bits/stdc++.h>
using namespace std;
void fast() {
  std::ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
long long p, q;
long long ans;
void f(long long x) {
  long long t = p;
  while (t % q == 0) t /= x;
  ans = max(ans, t);
}
int main() {
  fast();
  int T;
  cin >> T;
  while (T--) {
    cin >> p >> q;
    if (p % q != 0)
      printf("%lld\n", p);
    else {
      ans = 1;
      long long x = q;
      for (long long i = 2; i * i <= x; i++) {
        if (x % i == 0) f(i);
        while (x % i == 0) x /= i;
      }
      if (x > 1) f(x);
      printf("%lld\n", ans);
    }
  }
  return 0;
}
