#include<bits/stdc++.h>
#define int long long
#define md 2148473648
using namespace std;
inline char fgc(){
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();
ans[4]=min(a,n)%md*min(b,n)%md*min(c,n)%md*min(d,n)%md;
ans[3]=min(a,n)%md*min(b,n)%md*min(c,n)%md*max(m,(d-n))%md+min(d,n)%md*min(b,n)%md*min(c,n)%md*max(m,(a-n))%md+min(a,n)%md*min(d,n)%md*min(c,n)%md*(b-n)%md+min(a,n)%md*min(b,n)%md*min(d,n)%md*max(m,(c-n))%md;
ans[2]=min(a,n)%md*min(b,n)%md*max(m,(c-n))%md*max(m,(d-n))%md+min(a,n)%md*min(c,n)%md*max(m,(b-n))%md*max(m,(d-n))%md+min(a,n)%md*min(d,n)%md*max(m,(b-n))%md*max(m,(c-n))%md+min(b,n)%md*min(c,n)%md*max(m,(a-n))%md*max(m,(d-n))%md+min(b,n)%md*min(d,n)%md*max(m,(a-n))%md*max(m,(c-n))%md+min(c,n)%md*min(d,n)%md*max(m,(a-n))%md*max(m,(b-n))%md;
ans[1]=min(a,n)%md*max(m,(b-n))%md*max(m,(c-n))%md*max(m,(d-n))%md+min(b,n)%md*(a-n)%md*(c-n)%md*(d-n)%md+min(c,n)%md*(a-n)%md*(b-n)%md*(d-n)%md+min(d,n)%md*(a-n)%md*(b-n)%md*(c-n)%md;
ans[0]=max(m,(a-n))%md*max(m,(b-n))%md*max(m,(c-n))%md*max(m,(d-n))%md;
for(int i=0;i<=8;i++){
write(max(ans[i]%md,(__int128)0));
putchar(' ');
}
putchar('\n');
}
return 0;
}