#include<bits/stdc++.h>
using namespace std;
int gcd(int x,int y){
bool tag=(x*y>0?1:-1);
x=max(x,-x),y=max(y,-y);
if(x<y)swap(x,y);
if(x==0||y==0)return 0;
if(x%y==0)return tag*y;
return tag*gcd(y,x%y);
}
void print(int q,int r,int s){
if(s==0||q==0||r==0)
return;
int g=gcd(q,r);
q/=g,r/=g;
if(r<0)q=-q,r=-r;
else if(s==1)
if(r==1)printf("%d",q);
else printf("%d/%d",q,r);
else
if(r==1)
if(q==1)printf("sqrt(%d)",s);
else printf("%d*sqrt(%d)",q,s);
else
if(q==1)printf("sqrt(%d)/%d",s,r);
else printf("%d*sqrt(%d)/%d",q,s,r);
}
void solve(int a,int b,int c){
int delta=b*b-4*a*c;
if(a<0)a=-a,b=-b,c=-c;
if(delta<0){
printf("NO");
return;
}
if(b==0&&c==0){
printf("0");
return;
}
int q=1,d=delta;
for(int i=2;i*i<=delta;i++)
while(d%(i*i)==0){
d/=(i*i);
q*=i;
}
if(d==1)print(q-b,2*a,1);
else{
print(-b,2*a,1);
if(q==0||d==0)return;
if(2*a*q>0&&a!=0&&b!=0)printf("+");
print(q,2*a,d);
}
}
int main(){
int T,M;
scanf("%d%d",&T,&M);
while(T--){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
solve(a,b,c);
printf("\n");
}
return 0;
}