#include<bits/stdc++.h>
using namespace std;
int t,m;
inline int read()
{
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0' && ch<='9')
x=x*10+ch-'0',ch=getchar();
return x*f;
}
int main(){
t=read();
m=read();
for(int i=1;i<=t;i++){
int a,b,c;
double x,x1,x2;
a=read();
b=read();
c=read();
int sj=b*b-4*a*c;
if(sj<0){
printf("NO\n");
}
else{
bool bj=0;
int ts=sj,yg=1;
if(sj==1||sj==0){
bj=1;
}
for(int j=sqrt(ts);j>=2;j--) {
if(ts%(j*j)==0){
yg=j;
ts/=(j*j);
if(ts==1){
bj=1;
break;
}
}
}
if(bj==1){
int p,q;
x1=(-b+sqrt(sj))*1.0/(2.0*a);
x2=(-b-sqrt(sj))*1.0/(2.0*a);
x=max(x1,x2);
for(q=1;q;q++){
p=x*q;
if(p*1.0/q==x&&(__gcd(p,q)==1||__gcd(p,q)==-1)){
break;
}
}
if(q==1)
printf("%d\n",p);
else{
if(q<0){
q=-q;
p=-p;
}
printf("%d/%d\n",p,q);
}
}
else{
double q1,q2,q3;
int p,q;
q1=(-b)*1.0/(2*a);
q2=yg*1.0/(2*a);
q3=1/q2;
if((q1-q2*sqrt(ts))>(q1+q2*sqrt(ts))){
q2=-q2;
}
if(q1!=0){
for(q=1;q;q++){
p=q1*q;
if(p*1.0/q==q1&&(__gcd(p,q)==1||__gcd(p,q)==-1)){
break;
}
}
if(q==1)
printf("%d+",p);
else{
if(q<0){
q=-q;
p=-p;
}
printf("%d/%d+",p,q);
}
}
if(q2==1){
printf("sqrt(%d)\n",ts);
}
else if(q2/int(q2)==1) {
printf("%d*sqrt(%d)\n",int(q2),ts);
}
else if(q3/int(q3)==1){
printf("sqrt(%d)/%d\n",ts,int(abs(q3)));
}
else{
int c,d;
for(d=1;d;d++){
c=q2*d;
if(c>1&&c*1.0/d==q2&&(__gcd(c,d)==1||__gcd(c,d)==-1)){
break;
}
}
printf("%d*sqrt(%d)/%d\n",c,ts,d);
}
}
}
}
return 0;
}