#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int N=1e6+10;
const int Mm=1e3+10;
int T,M;
int gcd(int a,int b){
if(a%b==0) return b;
return gcd(b,a%b);
}
bool pd_int(double k){
int kk=k;
if(k-kk<0.001) return true;
return false;
}
void print(int a,int b){
int p=a,q=b;
if(a*b<0){
cout<<'-';
if(q<0) q=0-q;
else p=0-p;
}else if(p<0){
p=0-p;
q=0-q;
}
int Gcd=gcd(p,q);
p/=Gcd;
q/=Gcd;
if(q==1){
cout<<p;
return ;
}else{
cout<<p<<'/'<<q;
return ;
}
}
int main(){
cin>>T>>M;
while(T--){
int a,b,c;
cin>>a>>b>>c;
int san=(b*b)-4*a*c;
if(san<0){
cout<<"NO"<<endl;
continue;
}
if(pd_int(sqrt(san))){
if(((0-b)+sqrt(san))/(2.0*a)<((0-b)-sqrt(san))/(2.0*a)) print((0-b)-sqrt(san),2*a);
else print((0-b)+sqrt(san),2*a);
cout<<endl;
continue;
}
double q1=0,q2=1;
int q11,q12,q21,q22;
int r=1;
if(a<0){
q11=(0-b);
q12=2*a;
q1=(0-b)/(2.0*a);
a=(0-a);
r=san;
int sq=sqrt(san);
for(int i=sqrt(san);i>=2;i--){
if(r%(i*i)==0){
q2*=i;
r/=(i*i);
}
}
q21=q2;
q22=2*a;
q2/=(2.0*a);
if(q1!=0){
print(q11,q12);
cout<<'+';
}
if(q2==1){
printf("sqrt(%d)",r);
}else if(pd_int(q2)){
int iq2=q2;
printf("%d*sqrt(%d)",iq2,r);
}else if(pd_int(1.0/q2)){
int q3=1.0/q2;
printf("sqrt(%d)/%d",r,q3);
}else{
int c=q21;
int d=q22;
int Gcd=gcd(c,d);
c/=Gcd;d/=Gcd;
printf("%d*sqrt(%d)/%d",c,r,d);
}
}else{
q11=(0-b);
q12=2*a;
q1=(0-b)/(2.0*a);
r=san;
int sq=sqrt(san);
for(int i=sqrt(san);i>=2;i--){
if(r%(i*i)==0){
q2*=i;
r/=(i*i);
}
}
q21=q2;
q22=2*a;
q2/=(2.0*a);
if(q1!=0){
print(q11,q12);
cout<<'+';
}
if(q2==1){
printf("sqrt(%d)",r);
}else if(pd_int(q2)){
int iq2=q2;
printf("%d*sqrt(%d)",iq2,r);
}else if(pd_int(1.0/q2)){
int q3=1.0/q2;
printf("sqrt(%d)/%d",r,q3);
}else{
int c=q21;
int d=q22;
int Gcd=gcd(c,d);
c/=Gcd;d/=Gcd;
printf("%d*sqrt(%d)/%d",c,r,d);
}
}
cout<<endl;
}
return 0;
}