#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,a,b;
int gcd(int a,int b){
return b==0?a:gcd(b,a%b);
}
map<int,int>m;
signed main()
{
int temp=1,sumn;
while(1)
{
sumn=temp*temp*temp;
if(sumn>1e17) break;
m[sumn]=temp,temp++;
}
cin >> n;
while(n--)
{
scanf("%lld%lld",&a,&b);
int s=a*b;
if(m[s]&&a%m[s]==0&&b%m[s]==0) printf("YES\n");
else printf("NO\n");
}
}