link
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int T,m,a,b,c,delta;
bool pdsqrt(int x){
return sqrt(x)*sqrt(x)==x;
}
int gcd(int x,int y){
if(x%y==0) return y;
return gcd(y,x%y);
}
int fac(int x){
for(int i=sqrt(x);i>=1;i--){
if(x%(i*i)==0)return i;
}
}
void op1(int x,int y){
if(x%y==0){
printf("%d",x/y);
return;
}
else if(x*y<0){
printf("-");
x=abs(x),y=abs(y);
}
int t=gcd(x,y);
printf("%d/%d",x/t,y/t);
}
void op2(int x,int y,string z){
if(x%y==0){
if(x/y!=1)printf("%d*",x/y);
cout<<z;
}else{
int t=gcd(x,y);
if(x/t!=1)printf("%d*",x/t);
cout<<z;
printf("/%d",y/t);
}
}
int main(){
cin>>T>>m;
while(T--){
scanf("%d%d%d",&a,&b,&c);
delta=b*b-4*a*c;
if(delta<0){printf("No\n");continue;}
if(pdsqrt(delta)){
if(a<0)op1(-b-sqrt(delta),2*a);
else op1(-b+sqrt(delta),2*a);
printf("\n");
continue;
}
if(b!=0){
op1(-b,2*a);
printf("+");
}
a=abs(a);
int t=fac(a);
string st="sqrt("+to_string(delta/(t*t))+")";
op2(t,2*a,st);
}
return 0;
}