#include <iostream>
#include <algorithm>
#include <string.h>
#include <stdio.h>
#include <cmath>
using namespace std;
bool bi(long long a) {
long long left = 1;
long long right = 1e6;
while (left <= right) {
long long mid = (left + right) >> 1;
if ((mid * mid * mid) == a) {
return 1;
} else if ((mid * mid * mid) > a){
right = mid - 1;
} else {
left = mid + 1;
}
}
return 0;
}
int main() {
//freopen("in.txt", "r", stdin);
long long a, b;
int n;
scanf("%d", &n);
while (n--) {
scanf("%lld%lld", &a, &b);
if (a * a % b == 0 && b * b % a == 0 && bi(a * b)) {
printf("Yes\n");
} else
printf("No\n");
}
}