#include<iostream>
#define int long long
#define endl '\n'
using namespace std;
void print(int x,int y){
int ans1=x,ans2=y;
for(int i=2;i<=ans2;i++){
while(ans1%i==0&&ans2%i==0)ans1/=i,ans2/=i;
}
if(ans2==1)cout<<ans1;
else cout<<ans1<<'/'<<ans2;
}
void print2(int x,int y,int z){
int ans1=x,ans2=y;
for(int i=1;i<=ans2;i++){
if(ans1%i==0&&ans2%i==0)ans1/=i,ans2/=i;
}
if(ans2==1)cout<<ans1<<"*sqrt("<<z<<')';
else if(ans1==1)cout<<"sqrt("<<z<<")/"<<ans2;
else cout<<ans1<<"*sqrt("<<z<<")/"<<ans2;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
// freopen("uqe.in","r",stdin);
// freopen("uqe.out","w",stdout);
int t,m;
cin>>t>>m;
while(t--){
int a,b,c;
cin>>a>>b>>c;
int delta=b*b-4*a*c;
if(delta<0){
cout<<"NO"<<endl;
continue;
}
int i1;
for(i1=1;i1*i1<delta;i1++);
if(delta==0)i1=0;
if(i1*i1==delta){
if(a<0){
print(b+i1,-2*a);
}
else{
print(-b+i1,2*a);
}
cout<<endl;
continue;
}
if(b!=0){
if(a<0)print(b,-2*a);
else print(-b,2*a);
cout<<'+';
}
int q2=1;
for(int i=2;i*i<=delta;i++){
while(delta%(i*i)==0)delta/=i*i,q2*=i;
}
if(a<0)print2(q2,-2*a,delta);
else print2(q2,2*a,delta);
cout<<endl;
}
return 0;
}
样例没问题,其它带根号的全WA