RT
#include<bits/stdc++.h>
using namespace std;
long long a[5005],b[5005],c[5005],p[5005],n,m;
int main(){
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i]>>c[i];
p[i]=b[i]*b[i]-4*a[i]*c[i];
}
for(int i=1;i<=n;i++){
if(p[i]<0)cout<<"NO";
else if(p[i]==0){
double q;
q=1.0*sqrt(p[i]);
long long s=q*1000;
if(s*s==p[i]*1000000){
long long fm=2*a[i];
long long fz=-b[i];
if(fz<0&&fm>0)cout<<'-';
if(fz>0&&fm<0)cout<<'-';
fm=abs(fm);
fz=abs(fz);
long long g=__gcd(fm,fz);
fm/=g;
fz/=g;
if(fm==1)cout<<abs(fz);
else cout<<abs(fz)<<'/'<<abs(fm);
}
}
else{
double q;
q=1.0*sqrt(p[i]);
long long s=q*1000;
if(s*s==p[i]*1000000){
long long fm=2*a[i];
long long fz=-b[i];
long long num=q;
if(fm>0)fz+=q;
else fz-=q;
if(fz<0&&fm>0)cout<<'-';
if(fz>0&&fm<0)cout<<'-';
fm=abs(fm);
fz=abs(fz);
long long g=__gcd(fm,fz);
fm/=g;
fz/=g;
if(fm==1)cout<<fz;
else cout<<abs(fz)<<'/'<<abs(fm);
}
else{
long long np=p[i];
long long fm1=2*a[i];
long long fz1=-b[i];
long long g1=__gcd(fm1,fz1);
fm1/=g1;
fz1/=g1;
if(fz1<0&&fm1>0)cout<<'-';
if(fz1>0&&fm1<0)cout<<'-';
if(fz1!=0){
if(fm1==1)cout<<abs(fz1)<<'+';
else cout<<abs(fz1)<<'/'<<abs(fm1)<<'+';
}
long long fm2,fz2;
fm2=2*a[i];
fz2=1;
for(int j=p[i]/2+1;j>=1;j--){
if(np%j==0){
double x=sqrt(j);
long long sx=x*1000;
if(sx*sx==j*1000000){
fz2*=(long long)(x);
np/=j;
}
}
}
fm2=abs(fm2);
fz2=abs(fz2);
long long g2=__gcd(fm2,fz2);
fm2/=g2;
fz2/=g2;
if(fm2==1&&fz2==1)cout<<"sqrt("<<np<<")";
else if(fm2==1)cout<<fz2<<"*sqrt("<<np<<")";
else if(fz2==1)cout<<"sqrt("<<np<<")/"<<fm2;
else cout<<fz2<<"*sqrt("<<np<<")/"<<fm2;
}
}
cout<<endl;
}
return 0;
}