#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
#define ll long long
#define db double
#define pll pair<ll,ll>
#define fir first
#define sec second
inline bool zsgen(ll gen){
ll gens=sqrt(gen);
return gensgensgen;
}
inline ll gcd(ll a,ll b){
return __gcd(abs(a),abs(b));
}
inline ll lcm(ll a,ll b){
return a/gcd(a,b)*b;
}
inline void youli(ll a,ll b){
if(a0) cout<<'0';
else if(b1) cout<<a;
else if(b-1) cout<<-a;
else if(ab<0) cout<<-abs(a)<<'/'<<abs(b);
else cout<<abs(a)<<'/'<<abs(b);
return;
}
inline pll huajian(ll gen){
ll start=sqrt(gen);
for(ll i=start;i>=2;i--){
if(gen%(ii)) continue;
return make_pair(i,gen/i/i);
}
return make_pair(1,gen);
}
int main(){
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
ll t,m;
cin>>t>>m;
while(t--){
ll a,b,c;
cin>>a>>b>>c;
ll gen=bb-4ac;
if(gen<0){
cout<<"NO\n";
continue;
}
if(zsgen(gen)){
ll fenzi,fenmu,gys;
ll zi2,mu2,gys2;
ll gbs;
fenzi=-b;
fenmu=2a;
gys=gcd(fenzi,fenmu);
fenzi/=gys;
fenmu/=gys;
zi2=sqrt(gen);
mu2=a2;
gys2=gcd(zi2,mu2);
zi2/=gys2;
mu2/=gys2;
gbs=lcm(fenmu,mu2);
fenzi*=gbs/fenmu;
zi2*=gbs/mu2;
fenmu=mu2=gbs;
if(a>0) fenzi+=zi2;
else fenzi-=zi2;
gys=gcd(fenzi,fenmu);
fenzi/=gys;
fenmu/=gys;
youli(fenzi,fenmu);
cout<<'\n';
}
else{
ll fenzi,fenmu,gys;
ll zi2,mu2,gys2;
pll easy;
fenzi=-b;
fenmu=2a;
gys=gcd(fenzi,fenmu);
fenzi/=gys;
fenmu/=gys;
if(fenzi!=0) youli(fenzi,fenmu);
if(fenzi!=0) cout<<'+';
easy=huajian(gen);
zi2=easy.fir;
mu2=a2;
gys2=gcd(zi2,mu2);
zi2/=gys2;
mu2/=gys2;
if(abs(zi2)!=1) cout<<abs(zi2)<<'*';
cout<<"sqrt("<<easy.sec<<')';
if(abs(mu2)!=1) cout<<'/'<<abs(mu2);
cout<<'\n';
}
}
fclose(stdin);
fclose(stdout);
return 0;
}