#include<bits/stdc++.h>
#define int long long
#define md 2148473648
using namespace std;
inline char fgc(){
// static char buf[1<<17],*p=buf,*q=buf;
// return p==q&&(q=buf+fread(p=buf,1,1<<17,stdin),p==q)
// ?EOF:*p++;
return getchar();
}
inline int rint(){
int x=0,s=fgc(),f=1;
for (;s<'0'||'9'<s;s=fgc())f=s=='-'?-f:f;
for (;'0'<=s&&s<='9';s=fgc())x=x*10+(s^'0');
return x*f;
}
inline void write(__int128 x)
{
if(x<0){
putchar('-'),x=-x;
}
if(x>9){
write(x/10);
}
putchar(x%10+'0');
return;
}
__int128 ans[9];
signed main(){
int t=rint();
while(t){
--t;
long long n=2,m=0;
int a=rint(),b=rint(),c=rint(),d=rint();
int sum=(a<2)+(b<2)+(c<2)+(d<2);
for(int i=0;i<=8;i++){
ans[i]=0;
}
// cout<<sum<<'\n';
if(a<=0||b<=0||c<=0||d<=0){
}
else if(sum==0){
ans[4]=min(a,n)*min(b,n)*min(c,n)*min(d,n);
ans[3]=min(a,n)*min(b,n)*min(c,n)*max(m,(d-n))+min(d,n)*min(b,n)*min(c,n)*max(m,(a-n))+min(a,n)*min(d,n)*min(c,n)*(b-n)+min(a,n)*min(b,n)*min(d,n)*max(m,(c-n));
ans[2]=min(a,n)*min(b,n)*max(m,(c-n))*max(m,(d-n))+min(a,n)*min(c,n)*max(m,(b-n))*max(m,(d-n))+min(a,n)*min(d,n)*max(m,(b-n))*max(m,(c-n))+min(b,n)*min(c,n)*max(m,(a-n))*max(m,(d-n))+min(b,n)*min(d,n)*max(m,(a-n))*max(m,(c-n))+min(c,n)*min(d,n)*max(m,(a-n))*max(m,(b-n));
ans[1]=min(a,n)*max(m,(b-n))*max(m,(c-n))*max(m,(d-n))+min(b,n)*(a-n)*(c-n)*(d-n)+min(c,n)*(a-n)*(b-n)*(d-n)+min(d,n)*(a-n)*(b-n)*(c-n);
ans[0]=max(m,(a-n))*max(m,(b-n))*max(m,(c-n))*max(m,(d-n));
}
else if(sum==1){
ans[2]=max(max(a-2,m)*max(b-2,m)*(max(c-2,m)),max(max(a-2,m)*max(b-2,m)*max(d-2,m),max(max(a-2,m)*max(c-2,m)*max(d-2,m),max(b-2,m)*max(c-2,m)*max(d-2,m))));
ans[3]=2*max(max(a-2,m)*max(b-2,m),max(max(a-2,m)*max(c-2,m),max(max(a-2,m)*max(d-2,m),max(max(b-2,m)*max(c-2,m),max(max(d-2,m)*max(b-2,m),max(c-2,m)*max(d-2,m))))));
ans[4]=4*(max(a-2,m)+max(b-2,m)+max(c-2,m)+max(d-2,m));
ans[5]=8;
}
else if(sum==2){
ans[6]=4;
ans[4]=max(max(a-2,m)*max(b-2,m),max(max(a-2,m)*max(c-2,m),max(max(a-2,m)*max(d-2,m),max(max(b-2,m)*max(c-2,m),max(max(d-2,m)*max(b-2,m),max(c-2,m)*max(d-2,m))))));
ans[5]=2*max(max(a-2,m)+max(b-2,m),max(max(a-2,m)+max(c-2,m),max(max(a-2,m)+max(d-2,m),max(max(c-2,m)+max(b-2,m),max(max(d-2,m)+max(b-2,m),max(d-2,m)+max(c-2,m))))));
}
else if(sum==3){
ans[6]=max(a-2,max(b-2,max(c-2,d-2)));
ans[7]=2;
}
else{
ans[8]=a*b*c*d;
}
for(int i=0;i<=8;i++){
write(max(ans[i]%md,(__int128)0));
putchar(' ');
}
putchar('\n');
}
return 0;
}