#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
int mp[1<<10],ans[15],cnt[1<<10];
char s[15];
int main()
{
int t,n,m,u,v;
scanf("%d",&t);
for(int i=1;i<(1<<10);i++)
cnt[i]=cnt[i/2]+(i&1);
while(t--&&scanf("%d%d",&n,&m)!=EOF)
{
memset(mp,0,sizeof(mp));
mp[0]=1;
while(m--&&scanf("%s%d%d",s,&u,&v)!=EOF)
{
memset(ans,0,sizeof(ans));
int now=(1<<(u-1))|(1<<(v-1));
if(s[0]=='+')
{
for(int i=0;i<(1<<n);i++)
if((i&now)==now)
mp[i]=(mp[i]+mp[i^now])%mod;
}
else
{
for(int i=0;i<(1<<n);i++)
if((i&now)==now)
mp[i]=((mp[i]-mp[i^now])%mod+mod)%mod;
}
for(int i=0;i<(1<<n);i++)
ans[cnt[i]]=(ans[cnt[i]]+mp[i])%mod;
for(int i=1;i<n/2;i++)
printf("%d ",ans[i*2]);
printf("%d\n",ans[n]);
}
}
return 0;
}