#include <bits/stdc++.h>
#define int long long
using namespace std;
const double eps = 1e-10;
int t, m;
int a, b, c;
int gcd(int a, int b) {
return !b ? a : gcd(b, a%b);
}
int suan(int &x) {
int qian = 1;
for (int i = 1; i * i <= x; i++) {
int tp = i * i;
if (x % tp == 0) {
qian *= i;
x /= tp;
}
}
return qian;
}
signed main() {
scanf("%lld%lld", &t, &m);
while (t--) {
scanf("%lld%lld%lld", &a, &b, &c);
int san = pow(b, 2) - 4 * a * c;
if (san < 0) {
printf("NO\n");
continue;
}
int qiu = sqrt(san);
if (qiu * qiu == san) {
double ans1 = -1e18, ans2 = -1e18;
int chs11 = -1, chs12 = -1;
qiu -= b;
int xia = 2 * a;
if (qiu % xia == 0) {
ans1 = qiu / xia;
} else {
int chu = gcd(qiu, xia);
int nqiu = qiu / chu;
int nxia = xia / chu;
if (nxia < 0) {
nxia = -nxia;
nqiu = -nqiu;
}
ans1 = (1.0 * nqiu) / (1.0 * nxia);
chs11 = nqiu, chs12 = nxia;
}
qiu += b;
qiu = -qiu;
qiu -= b;
if (qiu % xia == 0) {
int ans = max(ans1, 1.0 * qiu / xia);
printf("%lld\n", ans);
continue;
} else {
int chu = gcd(qiu, xia);
qiu /= chu;
xia /= chu;
if (xia < 0) {
xia = -xia;
qiu = -qiu;
}
ans2 = (1.0 * qiu) / (1.0 * xia);
if (ans2 - ans1 > eps)printf("%lld/%lld\n", qiu, xia);
else printf("%lld/%lld\n", chs11, chs12);
continue;
}
} else {
int q1a = -b, q1b = 2 * a;
if (q1a % q1b == 0) {
if (q1a / q1b != 0) printf("%lld+", q1a / q1b);
} else {
qiu = q1a;
int xia = q1b;
int chu = gcd(qiu, xia);
int nqiu = qiu / chu;
int nxia = xia / chu;
if (nxia < 0) {
nxia = -nxia;
nqiu = -nqiu;
}
printf("%lld/%lld+", nqiu, nxia);
}
int kuo = pow(b, 2) - 4 * a * c;
int qian = suan(kuo);
int chu = 2 * a;
int qu = gcd(qian, chu);
qian /= qu;
chu /= qu;
if (chu < 0) {
chu = -chu;
qian = abs(qian);
}
if (qian != 1) printf("%lld*", qian);
printf("sqrt(%lld)", kuo);
if (chu != 1) printf("/%lld", chu);
printf("\n");
}
}
return 0;
}