#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
#define int long long
#define __gcd(l,r) __gcd(abs(l),abs(r))
int t,m,a,b,c,g,l,r,lr,p,x,gcds;
inline bool dsqrt(int x){
int l=0,r=x;
while(l<=r){
int mid=l+r>>1;
if(mid*mid==x) return true;
if(mid*mid<x) l=mid+1;
else r=mid-1;
}
return false;
}
signed main(){
cin>>t>>m;
while(t--){
cin>>a>>b>>c;
g=b*b-4*a*c;
if(g<0){
cout<<"NO\n";
continue;
}
if(dsqrt(g)){
l=-b;
r=a<<1;
if(r>0) l+=sqrt(g);
else l-=sqrt(g);
gcds=__gcd(l,r);
l/=gcds;
r/=gcds;
if(r<0) l=-l,r=-r;
if(l==0) cout<<"0\n";
else if(r==1) cout<<l<<'\n';
else cout<<l<<'/'<<r<<'\n';
continue;
}
l=-b;
r=lr=a<<1;
gcds=__gcd(l,r);
l/=gcds;
r/=gcds;
if(r<0) l=-l,r=-r;
if(l==0) goto sqrtpos;
if(r==1) cout<<l;
else cout<<l<<'/'<<r;
cout<<'+';
sqrtpos:
p=1;
x=0;
for(int i=sqrt(g);i>=1;i--){
if(g%(i*i)==0){
p=i;
x=g/(i*i);
break;
}
}
gcds=__gcd(p,lr);
p/=gcds;
lr/=gcds;
if(lr<0) p=-p,lr=-lr;
if(p==lr) cout<<"sqrt("<<x<<")\n";
else if(lr==1) cout<<p<<"*sqrt("<<x<<")\n";
else if(p==1) cout<<"sqrt("<<x<<")/"<<lr<<'\n';
else cout<<p<<"*sqrt("<<x<<")/"<<lr<<'\n';
}
return 0;
}