/*#include<stdio.h>//二进制数中1的个数
main()
{
int N,M,t,s;
scanf("%d",&M);
while(M--)
{
scanf("%d",&N);
s=0;
while(N!=0)
{
t=N%2;
N=N/2;
if(t==1)
s++;
}
printf("%d\n",s);
}
return 0;
}*/
/*#include<stdio.h>//计算进位个数
int main()
{
int a,b,c,s;
while(scanf("%d%d",&a,&b)!=EOF&&a!=0&&b!=0)
{
s=0;
c=a+b;
if((a/10%10+b/10%10)%10!=c/10%10)
s++;
if((a/100+b/100)%10!=c/100)
s++;
if(c/1000!=0)
s++;
printf("%d\n",s);
}
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{ int n;
double x1,y1,x2,y2,dx,dy,dt;
scanf("%d",&n);
while(n--)
{ scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);
dx=x1-x2;
dy=y1-y2;
dt=sqrt(dx*dx+dy*dy);
printf("%.2f\n",dt); }
return 0;
} */
#include<stdio.h>//鸡兔同笼
main()
{
int n,m,a,x,y;
scanf("%d",&a);
while(a--)
{
scanf("%d%d",&n,&m);
x=(4*n-m)/2;
y=(m-2*n)/2;
if(x+y==n&&(4*y+2*x)==m&&x>=0&&y>=0)
printf("%d %d\n",x,y);
else
printf("No answer\n");
}
return 0;
}
main()
{
int N,M,t,s;
scanf("%d",&M);
while(M--)
{
scanf("%d",&N);
s=0;
while(N!=0)
{
t=N%2;
N=N/2;
if(t==1)
s++;
}
printf("%d\n",s);
}
return 0;
}*/
/*#include<stdio.h>//计算进位个数
int main()
{
int a,b,c,s;
while(scanf("%d%d",&a,&b)!=EOF&&a!=0&&b!=0)
{
s=0;
c=a+b;
if((a/10%10+b/10%10)%10!=c/10%10)
s++;
if((a/100+b/100)%10!=c/100)
s++;
if(c/1000!=0)
s++;
printf("%d\n",s);
}
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{ int n;
double x1,y1,x2,y2,dx,dy,dt;
scanf("%d",&n);
while(n--)
{ scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);
dx=x1-x2;
dy=y1-y2;
dt=sqrt(dx*dx+dy*dy);
printf("%.2f\n",dt); }
return 0;
} */
#include<stdio.h>//鸡兔同笼
main()
{
int n,m,a,x,y;
scanf("%d",&a);
while(a--)
{
scanf("%d%d",&n,&m);
x=(4*n-m)/2;
y=(m-2*n)/2;
if(x+y==n&&(4*y+2*x)==m&&x>=0&&y>=0)
printf("%d %d\n",x,y);
else
printf("No answer\n");
}
return 0;
}