#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rl register ll
#define wl putchar('\n')
#define ws putchar(' ')
template <class T> inline void read(T &res)
{
char ch = getchar(); bool f = 0; res = 0;
for(; !isdigit(ch); ch = getchar()) f |= ch == '-';
for(; isdigit(ch); ch = getchar()) res = (res << 1) + (res << 3) + (ch ^ 48);
res = f ? ~res + 1 : res;
}
template <class T> void waw(T x) { if(x > 9) waw(x / 10); putchar(x % 10 ^ 48); }
template <class T> void ww(T x) { if(x < 0) x = ~x + 1, putchar('-'); waw(x); }
ll T, M, a, b, c, delta;
ll mi[1050];
ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; }
inline bool check()
{
delta = b * b - 4 * a * c;
return (delta < 0) ? false : true;
}
inline ll qmi(ll a, ll k)
{
ll res = 1;
while(k)
{
if(k & 1) res = res * a;
a = a * a; k >>= 1;
}
return res;
}
inline void init()
{
for(rl i=1; i <= 32; ++ i) mi[i * i] = i;
}
inline ll calc(ll x)
{
ll q = 1, del = x, cnt = 0;
for(rl i=2; i <= sqrt(x); ++ i)
{
if(x % i == 0)
{
cnt = 0;
while(x % i == 0) { x /= i; ++ cnt; }
if(cnt > 1) q *= qmi(i, cnt >> 1);
}
}
delta = del / (q * q);
return q;
}
int main()
{
freopen("uqe.in", "r", stdin), freopen("uqe.out", "w", stdout);
init();
read(T), read(M);
while(T -- )
{
read(a), read(b), read(c);
if(!check())
{
puts("NO");
continue;
}
else
{
if(delta == 0 || mi[delta])
{
ll ta = a * 2, tb = -1 * b + mi[delta];
ll d = gcd(abs(ta), abs(tb));
ta /= d, tb /= d;
if(ta < 0) ta = ~ta + 1, tb = ~tb + 1;
if(ta == 1) printf("%lld\n", tb);
else printf("%lld/%lld\n", tb, ta);
}
else
{
ll ta = a * 2, tb = -1 * b;
if(tb == 0)
{
ll q2 = calc(delta);
ll d = gcd(abs(q2), abs(ta));
ta /= d, q2 /= d;
if(ta < 0) ta = ~ta + 1, q2 = ~q2 + 1;
if(q2 == 1 && ta != 1) printf("sqrt(%lld)/%lld\n", delta, ta);
else if(q2 != 1 && ta != 1) printf("%lld*sqrt(%lld)/%lld\n", q2, delta, ta);
else if(q2 == 1 && ta == 1) printf("sqrt(%lld)\n", delta);
else if(q2 != 1 && ta == 1) printf("%lld*sqrt(%lld)\n", q2, delta);
}
else
{
ll d = gcd(abs(ta), abs(tb));
ll qa = ta;
ta /= d, tb /= d;
if(ta < 0) ta = ~ta + 1, tb = ~tb + 1;
if(ta == 1) printf("%lld", tb);
else printf("%lld/%lld", tb, ta);
ll q2 = calc(delta);
ll dd = gcd(abs(q2), abs(qa));
if(qa < 0) qa = ~qa + 1, q2 = ~q2 + 1;
qa /= dd, q2 /= dd;
if(qa == 1 && q2 == 1) printf("+sqrt(%lld)\n", delta);
else if(qa == 1 && q2 != 1) printf("+%lld*sqrt(%lld)\n", q2, delta);
else if(qa != 1 && q2 == 1) printf("+sqrt(%lld)/%lld\n", delta, qa);
else if(qa != 1 && q2 != 1) printf("+%lld*sqrt(%lld)/%lld\n", q2, delta, qa);
}
}
}
}
return 0;
}