#include <bits/stdc++.h>
using namespace std;

typedef long long LL;
typedef long long ll;

LL pm(LL a,LL n,LL m){
    LL r=1;
    for(;n;n>>=1,a=a*a%m)
        if(n&1)r=r*a%m;
    return r;
}

const LL P=7340033,g=11;
const LL MOD=7340033;

void ntt(LL *a,size_t n,bool inv=false){
    // inv为true时表示逆运算;
    LL w=1,d=pm(g,(MOD-1)/n,MOD),t;
    size_t i,j,c,s;
    if(inv){
        for(i=1,j=n-1;i<j;swap(a[i++],a[j--]));
        for(t=pm(n,MOD-2,MOD),i=0;i<n;++i)a[i]=a[i]*t%MOD;
    }
    for(s=n>>1;s;s>>=w=1,d=d*d%MOD)
    for(c=0;c<s;++c,w=w*d%MOD)
    for(i=c;i<n;i+=s<<1){
        a[i|s]=(a[i]+MOD-(t=a[i|s]))*w%MOD;
        a[i]=(a[i]+t)%MOD;
    }
    for(i=1;i<n;++i){
        for(j=0,s=i,c=n>>1;c;c>>=1,s>>=1)j=j<<1|(s&1);
        if(i<j)swap(a[i],a[j]);
    }
}

const int MAXN=2E5+10;
int n,a,b,c,d,k;
LL p[MAXN],r[MAXN],re[MAXN],u[MAXN],v[MAXN],w[2*MAXN];

void init()
{
	p[0]=1;r[0]=1;re[0]=1;
	p[1]=1;r[1]=1;re[1]=1;
	for (int i=2;i<MAXN;i++)
	{
		p[i]=p[i-1]*i%MOD;
		r[i]=r[MOD%i]*(MOD-MOD/i)%MOD;
		re[i]=re[i-1]*r[i]%MOD;
	}
}

LL combin(int n,int m)
{
	if (m<0||m>n) return 0;
	else return p[n]*re[m]%MOD*re[n-m]%MOD;
}

int main()
{
	init();
	int T,test=0,x,y;
	scanf("%d",&T);
	while(T--)
	{
		printf("Case %d:\n",++test);
		scanf("%d",&n);
		a=b=c=d=0;
		for (int i=0;i<n;i++) {
			scanf("%d%d",&x,&y);
			if (x>0&&y>0) a++;
			if (x>0&&y<0) b++;
			if (x<0&&y>0) c++;
			if (x<0&&y<0) d++;
		}
		memset(u,0,sizeof(u));
		memset(v,0,sizeof(v));
		memset(w,0,sizeof(w));
//		cout << a << " " << b << " " << c << " " << d << endl;
		int k1=n/2,k2=n/2;
		for (int i=0;i<=k1;i++) u[i]=combin(a,i)*combin(d,i)%MOD;
		for (int i=0;i<=k2;i++) v[i]=combin(b,i)*combin(c,i)%MOD;
		
//		for (int i=0;i<=k1;i++) printf("%lld ",u[i]);puts("");
//		for (int i=0;i<=k2;i++) printf("%lld ",v[i]);puts("");
		
		int l=2;
		for(;l<k1+k2+1;l<<=1);
		ntt(u,l);ntt(v,l);
		for(int i=0;i<l;++i) w[i]=u[i]*v[i]%P;
		ntt(w,l,true);
		
		for (int i=1;i<=n;i++){
			printf("%d%c", i & 1 ? 0 : (int)w[i >> 1], "\n "[i < n]);
//			if (i%99==0) puts("");
		}
	}
}
