#include <bits/stdc++.h>
using namespace std;
int ans1 = 1;
int t,m;
int sqrtt(int x)
{
for(int i=2;i*i<=x;i++)
{
while(x%(i*i)==0)
{
ans1*=i;
x/=(i*i);
}
}
return x;
}
int main()
{
scanf("%d%d",&t,&m);
while(t--)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<0)
{
a=-a;b=-b;c=-c;
}
if(b*b-4*a*c>=0)
{
int delta = b*b-4*a*c;
int dd = sqrt(delta);
if(dd*dd==delta)
{
int x=-b+dd;
if(x%(2*a)==0)
printf("%d\n",x/(2*a));
else
{
int cc = __gcd(x,2*a);
if(x/cc<0&&2*a/cc<0)
printf("%d/%d\n",-x/cc,-2*a/cc);
else if(2*a/cc<0)
printf("-%d/%d\n",x/cc,-2*a/cc);
else
printf("%d/%d\n",x/cc,2*a/cc);
}
}
else
{
int x=-b;
if(x!=0)
{
if(x%(2*a)==0)
printf("%d+",x/(2*a));
else
{
int cc = __gcd(x,2*a);
if(x/cc<0&&2*a/cc<0)
printf("%d/%d+",-x/cc,-2*a/cc);
else if(2*a/cc<0)
printf("-%d/%d+",x/cc,-2*a/cc);
else
printf("%d/%d+",x/cc,2*a/cc);
}
}
ans1 = 1;
int xx = sqrtt(delta);
if(ans1/__gcd(ans1,2*a)==1)
printf("sqrt(%d)\n",xx);
else if(__gcd(ans1,2*a)==2*a)
printf("%d*sqrt(%d)\n",ans1/__gcd(ans1,2*a),xx);
else if(__gcd(ans1,2*a)==ans1)
printf("sqrt(%d)/%d\n",xx,2*a/__gcd(ans1,2*a));
else
printf("%d*sqrt(%d)/%d\n",ans1/__gcd(ans1,2*a),xx,2*a/__gcd(ans1,2*a));
}
}
else
{
puts("NO");
}
}
}
悬关qaq