记录
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll T,m;
ll a,b,c,delta;
void print_no_ans(){
printf("NO\n");
}
inline ll gcd(ll a,ll b){
if(b==0)return a;
return gcd(b,a%b);
}
inline ll abss(ll a){
if(a>=0)return a;
return -a;
}
void print_ans(int fz,int fm){
ll gcdd=gcd(abss(fz),abss(fm));
fz/=gcdd;
fm/=gcdd;
if(fm<0)fz*=-1,fm*=-1;
if(fm==1)printf("%lld\n",fz);
else printf("%lld/%lld\n",fz,fm);
}
void print_sqrt(ll sq,ll fz,ll fm){
ll ggcd=gcd(abss(fz),abss(fm));
fz/=ggcd;
fm/=ggcd;
if(fm<0)fz*=-1,fm*=-1;
if(fz){
if(fm==1)printf("%lld+",fz);
else printf("%lld/%lld+",fz,fm);
}
fm=abss(2*a);
fz=1;
ll sqr=0;
for(ll i=sq;i>=1;i--){
if(delta%(i*i)==0){
fz*=i;
sqr=delta/(i*i);
break;
}
}
ggcd=gcd(abs(fz),abs(fm));
fz/=ggcd;
fm/=ggcd;
if(fm<0)fm*=-1,fz*=-1;
if(fz==fm) {
printf("sqrt(%lld)\n",sqr);
return;
}
if(fm==1){
printf("%lld*sqrt(%lld)\n",fz,sqr);
return;
}
if(fz==1){
printf("sqrt(%lld)/%lld\n",sqr,fm);
return;
}
printf("%lld*sqrt(%lld)/%lld\n",fz,sqr,fm);
}
int main(){
scanf("%lld%lld",&T,&m);
while(T--){
scanf("%lld%lld%lld",&a,&b,&c);
delta=b*b-4*a*c;
if(delta<0){
print_no_ans();
continue;
}
if(delta==0){
print_ans(-b,2*a);
continue;
}
ll fzz=-b,fmm=2*a;
ll sq=(ll)sqrt(delta);
if(sq*sq==delta){
if(fmm>0)fzz+=sq;
else fzz-=sq;
print_ans(fzz,fmm);
continue;
}
print_sqrt(sq,fzz,fmm);
}
}