样例不过 www

#include<bits/stdc++.h>
#define lcm(x,y) x/__gcd(x,y)*y
#define lb(x) (x&-x)
#define str to_string
using namespace std;
using ll=long long;
const double EPS=1e-6,PAI=acos(-1.0);
const int MAX=3e4+5,mod=1e9+7,MOD=998244353;
pair<int,int>yue(pair<int,int>a){
int u=a.first,v=a.second,res=__gcd(abs(u),abs(v));
u/=res,v/=res;
if(u<0&&v>0){
u=-u;
v=-v;
}
return{u,v};
}
pair<int,int>add(pair<int,int>a,pair<int,int>b){
int q=a.first,w=a.second,e=b.first,r=b.second;
w*=r;
q*=r;
e*=w;
return{q+e,w};
}
pair<int,int>jian(int dt){
int cnt=ceil(sqrt(dt))+1,x=0,y=0;
for(int i=cnt;i>=1;i--){
if(dt%(i*i)==0){
x=i;
y=dt/(i*i);
break;
}
}
return{x,y};
}
void print(pair<int,int>a,pair<pair<int,int>,int>b){
a=yue(a);
int n=0,m=0,o=0,p=0;
if(a.first%a.second==0)n=a.first/a.second;
pair<int,int>t={b.first.first,b.second};
t=yue(t);
if(t.first%t.second==0)m=t.first/t.second;
if(b.first.second>1){
if(n!=0){
if(m)cout<<n<<'+'<<m<<"*sqrt("<<b.first.second<<")\n";
else cout<<n<<'+'<<(t.first>1?str(t.first):"")<<"sqrt("<<b.first.second<<")/"<<t.second<<'\n';
}else{
if(m!=0){
if(a.first!=0)cout<<a.first*(a.second/abs(a.second))<<'/'<<abs(a.second)<<'+'<<m<<"*sqrt("<<b.first.second<<")\n";
else cout<<m<<"*sqrt("<<b.first.second<<")\n";
}else{
if(a.first!=0)cout<<a.first*(a.second/abs(a.second))<<'/'<<abs(a.second)<<'+'<<(t.first>1?str(t.first):"")<<"sqrt("<<b.first.second<<")/"<<t.second<<'\n';
else cout<<(t.first>1?str(t.first):"")<<"sqrt("<<b.first.second<<")/"<<t.second<<'\n';
}
}
}else if(b.first.second==0){
if(n!=0)cout<<n<<'\n';
else cout<<a.first*(a.second/abs(a.second))<<'/'<<abs(a.second)<<'\n';
}else{
if(n!=0){
if(m!=0)cout<<n+m<<'\n';
else{
pair<int,int>er={n,1};
er=add(t,er);
int w=er.first/er.second;
if(er.first%er.second==0)cout<<w<<'\n';
else cout<<er.first<<'/'<<er.second<<'\n';
}
}else{
if(m!=0){
pair<int,int>er={m,1};
er=add(a,er);
int w=er.first/er.second;
if(er.first%er.second==0)cout<<w<<'\n';
else cout<<er.first<<'/'<<er.second<<'\n';
}else{
pair<int,int>er=add(a,t);
int w=er.first/er.second;
if(er.first%er.second==0)cout<<w<<'\n';
else cout<<er.first<<'/'<<er.second<<'\n';
}
}
}
}
void solve(){
int a,b,c;
cin>>a>>b>>c;
int dt=b*b-4*a*c;
if(dt<0){
cout<<"NO\n";
return;
}else{
pair<int,int>fac1={-b,2*a};
pair<pair<int,int>,int>fac2={jian(dt),2*a};
print(fac1,fac2);
}
}
int t,m;
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>t>>m;
while(t--)solve();
return 0;
}