样例已过。。。 30。。。 QWQ
#include<bits/stdc++.h>
using namespace std;
int pfyz(int del){
int x;
for(int i=1;i*i<=del;i++){
if(del%(i*i)==0){
x=i;
}
}
return x;
}
int max_(int a,int b){
return a>b?a:b;
}
int min_(int a,int b){
return a<b?a:b;
}
int gcd(int a,int b){
if(!b){return a;}
if(b>a){swap(a,b);}
return gcd(b,a%b);
}
void youli(int fz,int fm){
if(fz==0){return;}
int z=fz/abs(fz);
fz*=z;
z*=(fm<0)?-1:1;
fm=abs(fm);
int x=gcd(fm,fz);
fz/=x*z;
fm/=x;
cout<<fz;
if(fm!=1){
cout<<"/"<<fm;
}
}
void youli_gen(int fm,int del){
if(!del){return;}
int p=pfyz(del),x=gcd(fm,p);
del/=p*p;
p/=x;
fm/=x;
if(del==1){
youli(p,fm);
}
if(p-1){
cout<<p<<"*";
}
cout<<"sqrt("<<del<<")";
if(fm-1){
cout<<"/"<<fm;
}
}
int main(){
int t,m,del,a,b,c;
cin>>t>>m;
for(int i=0;i<t;i++){
cin>>a>>b>>c;
if(a<0){
a=-a;
b=-b;
c=-c;
}
del=b*b-4*a*c;
if(del<0||!a){
cout<<"NO\n";
continue;
}
bool x=!b,y=!del;
if(x&&y){
cout<<"0\n";
continue;
}
int p=pfyz(del);
if(p*p==del){
youli(p-b,2*a);
cout<<"\n";
continue;
}
youli(-b,2*a);
if(!x&&!y){
cout<<"+";
}
youli_gen(2*a,del);
cout<<"\n";
}
return 0;
}