#include<bits/stdc++.h>
using namespace std;
long long gcd(long long o,long long v){
if(!v) return o;
return gcd(v,o%v);
}
int main(){
long long T,M;
cin>>T>>M;
while(T--){
long long a,b,c;
cin>>a>>b>>c;
if(b*b-4*a*c <0){
puts("NO");
continue;
}
if(a<0) a=-a,b=-b,c=-c;
long long l=sqrt(b*b-4*a*c);
if(l*l==b*b-4*a*c){
long long p=-b+l,q=2*a,g=gcd(p,q);
p/=g,q/=g;
if(p==0) puts("0");
if(q==1) printf("%d\n",p);
else{
if(M*p*q<0) p=-abs(p),q=abs(q);
else p=abs(p),q=abs(q);
printf("%d/%d\n",p,q);
}
}
else{
long long p=-b,q=2*a,g=gcd(p,q);
bool flag=0;
p/=g,q/=g;
if(p!=0){
if(q==1) printf("%d",p);
else{
if(M*p*q<0)p=-abs(p),q=abs(q);
else p=abs(p),q=abs(q);
printf("%d/%d",p,q);
}
}
else flag=1;
int k=b*b-4*a*c;
p=1;
for(int i=2;i*i<=k;i++)
while(k%(i*i)==0)
p*=i,k/=(i*i);
assert(k!=1);
q=2*a,g=gcd(p,q);
p/=g,q/=g;
if(p!=0){
if(M*p*q<0) p=-abs(p),q=abs(q),assert(0);
else{
if(!flag) putchar('+');
p=abs(p),q=abs(q);
}
if(q==1&&p==1) printf("sqrt(%d)\n",k);
else if(q==1) printf("%d*sqrt(%d)\n",p,k);
else if(p==1) printf("sqrt(%d)/%d\n",k,q);
else printf("%d*sqrt(%d)/%d\n",p,k,q);
}
else assert(0),puts("");
}
}
return 0;
}