#include<bits/stdc++.h>
using namespace std;
int T , m , a , b , c;
int lcm(int x , int y){
return x * y / __gcd(x , y);
}
bool pf(int x){
return (int(sqrt(x)) * int(sqrt(x)) == x);
}
int main(){
cin >> T >> m;
while(T--){
cin >> a >> b >> c;
int delta = b * b - 4 * a * c;
if(delta < 0){
cout << "NO\n";
continue;
}
int fx , fy;
bool flag = 0;
if(-b % (2 * a) == 0)fx = -b / (2 * a) , fy = 1;
else{
int x = -b , y = 2 * a , d = __gcd(x , y);
x /= d , y /= d;
fx = x , fy = y;
if(fy < 0)fx = -fx , fy = -fy;
flag = 1;
}
if(!delta){
if(!flag)cout << fx;
else cout << fx << '/' << fy;
cout << '\n';
continue;
}
if(pf(delta)){
int x = sqrt(delta) , y = 2 * a;
int ans2 = lcm(fy , y) , ans1 = fx * lcm(fy , y) / fy + x * lcm(fy , y) / y;
int d = __gcd(ans2 , ans1);
ans2 /= d , ans1 /= d;
if(ans2 < 0)ans1 = -ans1 , ans2 = -ans2;
if(ans2 == 1)cout << ans1;
else cout << ans1 << '/' << ans2;
}
else{
if(fx){
if(!flag)cout << fx;
else cout << fx << '/' << fy;
cout << '+';
}
int x = 0;
for(int i = 1;i * i <= delta;i++){
if(delta % i)continue;
if(pf(i))x = max(x , i);
if(pf(delta / i))x = max(x , delta / i);
}
int r = delta / x;
x = sqrt(x);
int y = 2 * a;
int d = __gcd(x , y);
x /= d , y /= d;
if(y != 1){
if(x != 1)cout << x << '*' << "sqrt(" << r << ')' << '/' << abs(y);
else cout << "sqrt(" << r << ')' << '/' << abs(y);
}
else{
if(x != 1)cout << x << '*' << "sqrt(" << r << ')';
else cout << "sqrt(" << r << ')';
}
}
cout << '\n';
}
return 0;
}