#include<bits/stdc++.h>
using namespace std;
int a,b,c,d,m,ds,fs;
int fm1,fz1,fm2,fz2;
int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a % b);
}
void yf(int *x,int *y)
{
int g=gcd(abs(*x),abs(*y));
*x/=g,*y/=g;
}
void gh(int *x,int *y)
{
while(1)
{
bool j=0;
for(int i=2;i*i<=*y;i++)
{
if(!(*y%(i*i)))
{
j=1,*x*=i,*y/=(i*i);
break;
}
}
if(!j)
{
break;
}
}
}
int main()
{
int N;
for(cin>>N>>m;N;N--)
{
a=b=c=d=fm1=fz1=fm2=fz2=0,fs=1;
cin>>a>>b>>c;
d=b*b-4*a*c;
if(d<0)
{
printf("NO\n");
continue;
}
if((!b&&!c)||(-1*b==sqrt(d)))
{
cout<<0<<"\n";
continue;
}
fz1=-1*b,fm1=2*a;
yf(&fz1,&fm1);
ds=d,gh(&fs,&ds);
fz2=abs(fs),fm2=abs(2*a),yf(&fz2,&fm2);
if(d==1||ds==1)//||!(fz2%fm2))
{
//printf("1: ");
int x,y,z,t;
x=fz1*(-1*b<0?-1:1),y=fm1*(a<0?-1:1),z=fz2*(fs<0?-1:1),t=fm2*(a<0?-1:1);
x*=t,z*=y;
x=abs(x)*(x*y<0?-1:1),y=abs(y)*abs(t);
z=abs(z)*(z*t<0?-1:1),t=abs(y);
x+=(z*(a<0?-1:1));
z=x;
x=abs(x);
y=abs(y);
yf(&x,&y);
if(z*t<0)
{
cout<<"-";
}
printf("%d",x);
if(y!=1)
{
printf("/%d",y);
}
printf("\n");
continue;
}
if(fz1*fm1)
{
if(fz1*fm1<0)
{
printf("-");
}
if(abs(fm1)==1)
{
printf("%d",abs(fz1));
}
else
{
printf("%d/%d",abs(fz1),abs(fm1));
}
if(!d)
{
//printf("2:");
printf("\n");
continue;
}
}
//printf("3: ");
if((a<0?-1:1)*fs*a<0)
{
cout<<"-";
}
else
{
if(fz1*fm1)
{
printf("+");
}
}
fz2=abs(fz2),fm2=abs(fm2);
if(ds==1||fz2!=1)
{
cout<<fz2;
}
if(ds!=1)
{
if(fz2!=1)
{
cout<<"*";
}
printf("sqrt(%d)",ds);
}
if(fm2!=1)
{
printf("/%d",fm2);
}
printf("\n");
}
return 0;
}
输入1 8 7 我的输出 7 正确输出-1