#include<bits/stdc++.h>
#define _n puts("")
#define minf(a,b) for(int i=a;i<b;i++)
#define maxf(a,b) for(int i=a;i>b;i--)
#define rt return
#define _m main
#define itn int
#define uns using namespace std
#define _t printf("\n-------------------\nASDasd123!@#_{:=]'LKJlkj098)(*,./<>?\n-------------------\n")
uns;
int t,m,a,b,c,delta,tmp;
string x;
inline itn gcd(itn a,int b){
while(b^=a^=b^=a%=b);
return abs(a);
}
int _m(){
scanf("%d%d",&t,&m);
for(int i=0;i<t;i++){
a=b=c=delta=0;
tmp=1;
scanf("%d%d%d",&a,&b,&c);
delta=b*b-4*a*c;
if(delta<0){
printf("NO\n");
continue;
}
for(int j=2;j<=delta;j++){
if(!(delta%(j*j))){
while(!(delta%(j*j))){
tmp*=j;
delta/=j*j;
}
}
}
if(delta==0){
if(b%(2*a)==0){
printf("%d\n",-b/2*a);
}else{
printf("%d/%d\n",-b/gcd(b,2*a),2*a/gcd(b,2*a));
}
}else if(delta==1){
if((-b+tmp)%(2*a)==0){
printf("%d\n",(-b+tmp)/(2*a));
}else{
printf("%d/%d\n",(-b+tmp)/gcd(tmp,2*a),2*a/gcd(tmp,2*a));
}
}else{
if(b!=0){
if(a<0&&-b<0){
b=-b;
a=-a;
}
if(-b%(2*a)==0){
printf("%d",-b/(2*a));
}else{
printf("%d/%d",-b/abs(__gcd(b,2*a)),2*a/abs(__gcd(b,2*a)));
}
printf("+");
}
tmp=abs(tmp);
if(tmp/__gcd(tmp,2*a)==1){
printf("sqrt(%d)/%d\n",delta,2*a/__gcd(tmp,2*a));
}else if(2*a/__gcd(tmp,(2*a))==1){
printf("%d*sqrt(%d)\n",tmp/__gcd(tmp,2*a),delta);
}else{
printf("%d*sqrt(%d)/%d\n",tmp/__gcd(tmp,2*a),delta,2*a/__gcd(tmp,2*a));
}
}
}
rt 0;
}