#include<bits/stdc++.h>
using namespace std;
int t,m;
int b[100000];
int f(int x)
{
int u=x;
long long sum=1;
memset(b,0,sizeof(b));
for(int i=2;i<=sqrt(u);i++)
{
if(x%i==0)
{
x/=i;
if(b[i]==1)
{
b[i]=0;
sum*=i;
}
else
b[i]++;
i--;
}
}
return sum;
}
int main()
{
scanf("%d",&t);
cin>>m;
for(int i=1;i<=t;i++)
{
int a,b,c,der;
scanf("%d%d%d",&a,&b,&c);
der=b*b-4*a*c;
if(der<0)
{
printf("NO\n");
continue;
}
if(a<0)
{a*=-1,b*=-1,c*=-1;}
if(sqrt(der)*sqrt(der)==der)
{
int p1,p2,px,qx;
qx=2*a;
px=(-1)*b+sqrt(der);
int gcd=abs(__gcd(px,qx));
px/=gcd;
qx/=gcd;
if(px%qx==0)
printf("%d\n",px/qx);
else
printf("%d/%d\n",px,qx);
}
else{
if(b!=0)
{
int px,qx;
px=-1*b;
qx=2*a;
int gcd=abs(__gcd(px,qx));
if(px%qx==0)
printf("%d+",px/qx);
else
printf("%d/%d+",px/gcd,qx/gcd);
}
int cnt1=f(der);
int cnt2=der/(cnt1*cnt1);
int cnt3=2*a;
int gcd=abs(__gcd(cnt1,cnt3));
cnt1/=gcd;
cnt3/=gcd;
if(cnt3!=1)
{
if(abs(cnt1)==1)
printf("sqrt(%d)/%d\n",cnt2,cnt3);
if(abs(cnt1)!=1)
printf("%d*sqrt(%d)/%d\n",cnt1,cnt2,cnt3);
}
if(cnt3==1)
{
if(abs(cnt1)==1)
printf("sqrt(%d)\n",cnt2);
if(abs(cnt1)!=1)
printf("%d*sqrt(%d)\n",cnt1,cnt2);
}
}
}
return 0;
}