#include<bits/stdc++.h>
using namespace std;
int t,m;
int chuli(int n){
int a[100],w=0;
int tmp=n;
for(int i=2;i<=n;i++){
while(tmp%i==0){
tmp/=i,a[++w]=i;
if(tmp==1)
break;
}
if(tmp==1)
break;
}
int tong[1100],maxx=-1;
memset(tong,0,sizeof(tong));
for(int i=1;i<=w;i++){
tong[a[i]]++;
maxx=max(maxx,a[i]);
}
int ans=1,ans2=1;
for(int i=2;i<=maxx;i++){
if(tong[i]>=2){
int c=tong[i]/2;
int y=tong[i]%2;
ans*=pow(i*i,c);
}
}
return ans;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>t>>m;
while(t--){
int a,b,c;
cin>>a>>b>>c;
int tmpb=b*b;
if(tmpb>=4*a*c){
int ang=tmpb-4*a*c;
int sang=sqrt(ang);
if(sang!=sqrt(ang)){
int numb=-b;
int xi=chuli(ang);
int ge=ang/xi;
xi=sqrt(xi);
if(a<0){
numb=-numb;
a=-a;
if(numb%(2*a)==0&&numb!=0)
cout<<numb/(2*a)<<"-";
else{
if(numb<0){
cout<<"-";
numb=-numb;
}
if(numb!=0){
cout<<numb/(__gcd(numb,2*a));
if(2*a!=1)
cout<<"/"<<(2*a)/(__gcd(numb,2*a));
if(xi!=0)
cout<<"-";
}
}
if(xi%(2*a)==0){
if(xi/(2*a)!=1&&xi!=0)
cout<<xi/(2*a)<<"*sqrt("<<ge<<")"<<endl;
else
if(xi!=0)
cout<<"sqrt("<<ge<<")"<<endl;
}
else{
if(xi!=0){
if(xi/(__gcd(xi,2*a))!=1)
cout<<xi/(__gcd(xi,2*a))<<"*sqrt("<<ge<<")";
else
cout<<"sqrt("<<ge<<")";
if((2*a)/(__gcd(xi,2*a))!=1)
cout<<"/"<<(2*a)/(__gcd(xi,2*a));
else
cout<<"sqrt("<<ge<<")"<<endl;
cout<<endl;
}
else
cout<<endl;
}
}
else{
if(numb%(2*a)==0&&numb!=0)
cout<<numb/(2*a)<<"+";
else{
if(numb<0){
cout<<"-";
numb=-numb;
}
if(numb!=0){
cout<<numb/(__gcd(numb,2*a));
if(2*a!=1)
cout<<"/"<<(2*a)/(__gcd(numb,2*a));
if(xi!=0)
cout<<"+";
}
}
if(xi%(2*a)==0){
if(xi/(2*a)!=1&&xi!=0)
cout<<xi/(2*a)<<"*sqrt("<<ge<<")"<<endl;
else
if(xi!=0)
cout<<"sqrt("<<ge<<")"<<endl;
}
else{
if(xi!=0){
if(xi/(__gcd(xi,2*a))!=1)
cout<<xi/(__gcd(xi,2*a))<<"*sqrt("<<ge<<")";
else
cout<<"sqrt("<<ge<<")";
if((2*a)/(__gcd(xi,2*a))!=1)
cout<<"/"<<(2*a)/(__gcd(xi,2*a));
else
cout<<"sqrt("<<ge<<")";
cout<<endl;
}
else
cout<<endl;
}
}
}
else{
int tmpa=2*a;
int v1=(-b)+sang,v2=(-b)-sang;
if(a<0){
v1=-v1;
v2=-v2;
a=-a;
}
int tmpsang=max(v1,v2);
if(tmpsang%tmpa==0)
cout<<tmpsang/tmpa<<endl;
else{
int u=max(v1,v2);
int tmpw;
if(u<0){
tmpw=__gcd(-u,2*a);
cout<<"-"<<(-u)/tmpw<<"/"<<2*a/tmpw<<endl;
}
else{
tmpw=__gcd(u,2*a);
cout<<u/tmpw<<"/"<<2*a/tmpw<<endl;
}
}
}
}
else
cout<<"NO"<<endl;
}
return 0;
}