rt
#include<bits/stdc++.h>
using namespace std;
int T,M,a,b,c,deltta,prime[1010];
map<int,bool> mp;
int gcd(int x,int y){
if(y==0)return x;
return gcd(y,x%y);
}
void printyls(int p,int q){
int ggcd=gcd(q,p);
q/=ggcd,p/=ggcd;
if(q<0)q*=-1,p*=-1;
if(q==1)printf("%d",p);
else printf("%d/%d",p,q);
}
void printwls(){
int qq=1;
int pp=2*a;
if(b!=0)printyls(0-b,pp),printf("+");
for(int i=2;prime[i]<=deltta;){
if(deltta%prime[i]==0)qq*=i,deltta/=prime[i];
else i++;
}
if(pp<0)pp*=-1;
if(qq==pp){
printf("sqrt(%d)",deltta);
return;
}
if(qq%pp==0){
qq/=pp;
printf("%d*sqrt(%d)",qq,deltta);
return;
}
if(pp%qq==0){
pp/=qq;
printf("sqrt(%d)/%d",deltta,pp);
return;
}
int gccd=gcd(qq,pp);
qq/=gccd,pp/=gccd;
printf("%d*sqrt(%d)/%d",qq,deltta,pp);
}
int main(){
//freopen("uqe.in","r",stdin);
//freopen("uqe.out","w",stdout);
for(int i=0;i<=1000;i++)mp[i*i]=1,prime[i]=i*i;
scanf("%d%d",&T,&M);
while(T--){
scanf("%d%d%d",&a,&b,&c);
deltta=b*b-4*a*c;
if(deltta<0){
printf("NO\n");
continue;
}
if(mp[deltta])printyls(sqrt(deltta)-b,2*a);
else printwls();
printf("\n");
}
return 0;
}