#include<bits/stdc++.h>
using namespace std;
const int N=100010;
long long a;
struct node{
long long n,e,d,m,r;
long long p;
long long q;
}s[N];
int main(){
scanf("%d",&a);
for(int i=1;i<=a;i++){
scanf("%d",&s[i].n);
scanf("%d",&s[i].d);
scanf("%d",&s[i].e);
}
for(int i=1;i<=a;i++){
int yu=s[i].e*s[i].d;
s[i].m=s[i].n-yu;
s[i].m=s[i].m+2;
}
for(int i=1;i<=a;i++){
for(int j=1;j<(ceil(s[i].m/2));j++){
if(s[i].m*s[i].m==4*s[i].n){
s[i].p=s[i].m/2;
s[i].q=s[i].p;
break;
}
if(sqrt(s[i].m*j-s[i].n)==j){
s[i].p=j;
s[i].q=s[i].m-j;
break;
}
}
}
for(int i=1;i<=a;i++){
if(s[i].p!=0||s[i].q!=0){
printf("%d %d\n",s[i].p,s[i].q);
}else{
printf("NO\n");
}
}
return 0;
}