#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int N=1e6+10;
const int MM=1e3+10;
int T,M;
bool pdyls(int san){
int k=sqrt(san);
if(k*k==san) return true;
return false;
}
int gcd(int aa,int bb){
if(aa%bb==0) return bb;
return gcd(bb,aa%bb);
}
bool Zh(double k){
int kk=k;
if(k-kk>0.001) return true;
return false;
}
int main(){
cin>>T>>M;
while(T--){
int a,b,c;
cin>>a>>b>>c;
int san=(b*b)-(4.0*a*c);
if(san<0){
cout<<"NO"<<endl;
continue;
}
if(pdyls(san)){
int p=0-b;
if(((-b)+sqrt(san))/(0.0+2*a)<(((-b)-sqrt(san))/(0.0+2*a))){
p-=sqrt(san);
}else p+=sqrt(san);
int q=2*a;
if(p*q<0){
cout<<'-';
}
if(p<0){
p=(0-p);
}
if(q<0){
q=(0-q);
}
int ch=(p+0.0)/(q+0.0);
if(ch==(p+0.0)/(q+0.0)){
cout<<(p+0.0)/(q+0.0);
}else{
int ab=gcd(p,q);
cout<<p/(ab+0.0)<<'/'<<q/(ab+0.0);
}
cout<<endl;
continue;
}
int k=sqrt(san);
double q2=1;
int dert=san;
for(int i=k;i>=2;i--){
if(dert%(i*i)==0){
q2*=i;
dert/=(i*i);
}
}
int r=dert;
if(((-b)+sqrt(san))/(0.0+2*a)<(((-b)-sqrt(san))/(0.0+2*a))){
q2=(0.0-q2);
}
int q12=q2;
int q22=2.0*a;
q2/=(2*a);
if((0.0-b)/(2.0*a)!=0){
int p=0.0-b;
int q=2*a;
if(p*q<0){
cout<<'-';
}
if(p<0){
p=(0-p);
}
if(q<0){
q=(0-q);
}
int ch=(p+0.0)/(q+0.0);
if(ch==(p+0.0)/(q+0.0)){
cout<<(p+0.0)/(q+0.0);
}else{
int ab=gcd(p,q);
cout<<p/(ab+0.0)<<'/'<<q/(ab+0.0);
}
cout<<'+';
}
if(q2==1||q2==-1){
printf("sqrt(%d)",r);
}else if(Zh(q2)){
int q3=q2;
printf("%d*sqrt(%d)",q3,r);
}else if(Zh(1.0/q2)){
int q3=1.0/q2;
printf("sqrt(%d)/%d",r,q3);
}else{
int same=gcd(q12,q22);
q12/=(same+0.0);
q22/=(same+0.0);
printf("%d*sqrt(%d)/%d",q12,r,q22);
}
cout<<endl;
}
return 0;
}